I: pbuilder: network access will be disabled during build
I: Current time: Sat Apr  4 08:34:52 +14 2026
I: pbuilder-time-stamp: 1775241292
I: Building the build Environment
I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz]
I: copying local configuration
W: --override-config is not set; not updating apt.conf Read the manpage for details.
I: mounting /proc filesystem
I: mounting /sys filesystem
I: creating /{dev,run}/shm
I: mounting /dev/pts filesystem
I: redirecting /dev/ptmx to /dev/pts/ptmx
I: policy-rc.d already exists
I: Copying source file
I: copying [libjson-schema-modern-perl_0.603-1.dsc]
I: copying [./libjson-schema-modern-perl_0.603.orig.tar.gz]
I: copying [./libjson-schema-modern-perl_0.603-1.debian.tar.xz]
I: Extracting source
dpkg-source: warning: cannot verify inline signature for ./libjson-schema-modern-perl_0.603-1.dsc: unsupported subcommand
dpkg-source: info: extracting libjson-schema-modern-perl in libjson-schema-modern-perl-0.603
dpkg-source: info: unpacking libjson-schema-modern-perl_0.603.orig.tar.gz
dpkg-source: info: unpacking libjson-schema-modern-perl_0.603-1.debian.tar.xz
dpkg-source: info: using patch list from debian/patches/series
dpkg-source: info: applying autopkgtest.patch
I: Not using root during the build.
I: Installing the build-deps
I: user script /srv/workspace/pbuilder/3323367/tmp/hooks/D01_modify_environment starting
debug: Running on infom02-amd64.
I: Changing host+domainname to test build reproducibility
I: Adding a custom variable just for the fun of it...
I: Changing /bin/sh to bash
'/bin/sh' -> '/bin/bash'
lrwxrwxrwx 1 root root 9 Apr  3 18:35 /bin/sh -> /bin/bash
I: Setting pbuilder2's login shell to /bin/bash
I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other
I: user script /srv/workspace/pbuilder/3323367/tmp/hooks/D01_modify_environment finished
I: user script /srv/workspace/pbuilder/3323367/tmp/hooks/D02_print_environment starting
I: set
  BASH=/bin/sh
  BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath
  BASH_ALIASES=()
  BASH_ARGC=()
  BASH_ARGV=()
  BASH_CMDS=()
  BASH_LINENO=([0]="12" [1]="0")
  BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:.
  BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment")
  BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu")
  BASH_VERSION='5.2.37(1)-release'
  BUILDDIR=/build/reproducible-path
  BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other'
  BUILDUSERNAME=pbuilder2
  BUILD_ARCH=amd64
  DEBIAN_FRONTEND=noninteractive
  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 '
  DIRSTACK=()
  DISTRIBUTION=unstable
  EUID=0
  FUNCNAME=([0]="Echo" [1]="main")
  GROUPS=()
  HOME=/root
  HOSTNAME=i-capture-the-hostname
  HOSTTYPE=x86_64
  HOST_ARCH=amd64
  IFS=' 	
  '
  INVOCATION_ID=bd5e425152534c869e4301ba3a657a67
  LANG=C
  LANGUAGE=et_EE:et
  LC_ALL=C
  MACHTYPE=x86_64-pc-linux-gnu
  MAIL=/var/mail/root
  OPTERR=1
  OPTIND=1
  OSTYPE=linux-gnu
  PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path
  PBCURRENTCOMMANDLINEOPERATION=build
  PBUILDER_OPERATION=build
  PBUILDER_PKGDATADIR=/usr/share/pbuilder
  PBUILDER_PKGLIBDIR=/usr/lib/pbuilder
  PBUILDER_SYSCONFDIR=/etc
  PIPESTATUS=([0]="0")
  POSIXLY_CORRECT=y
  PPID=3323367
  PS4='+ '
  PWD=/
  SHELL=/bin/bash
  SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix
  SHLVL=3
  SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.AP9V5MC1/pbuilderrc_pxPJ --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.AP9V5MC1/b2 --logfile b2/build.log libjson-schema-modern-perl_0.603-1.dsc'
  SUDO_GID=109
  SUDO_UID=104
  SUDO_USER=jenkins
  TERM=unknown
  TZ=/usr/share/zoneinfo/Etc/GMT-14
  UID=0
  USER=root
  _='I: set'
I: uname -a
  Linux i-capture-the-hostname 6.12.9+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.9-1~bpo12+1 (2025-01-19) x86_64 GNU/Linux
I: ls -l /bin
  lrwxrwxrwx 1 root root 7 Nov 22  2024 /bin -> usr/bin
I: user script /srv/workspace/pbuilder/3323367/tmp/hooks/D02_print_environment finished
 -> Attempting to satisfy build-dependencies
 -> Creating pbuilder-satisfydepends-dummy package
Package: pbuilder-satisfydepends-dummy
Version: 0.invalid.0
Architecture: amd64
Maintainer: Debian Pbuilder Team <pbuilder-maint@lists.alioth.debian.org>
Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder
 This package was created automatically by pbuilder to satisfy the
 build-dependencies of the package being currently built.
Depends: debhelper-compat (= 13), libmodule-build-tiny-perl, perl, libautovivification-perl, libbuiltin-compat-perl, libcpan-meta-check-perl, libcpan-meta-requirements-perl, libcpanel-json-xs-perl (>= 4.38), libdata-validate-domain-perl, libdatetime-format-rfc3339-perl, libemail-address-xs-perl, libexperimental-perl (>= 0.031), libfeature-compat-try-perl, libfile-sharedir-perl, libgetopt-long-descriptive-perl, libjson-pp-perl (>= 4.11000), libmath-bigint-perl, libmodule-metadata-perl, libmojolicious-perl, libmoo-perl, libmoox-typetiny-perl, libnamespace-clean-perl, libnet-idn-encode-perl, libpath-tiny-perl, libref-util-perl, libref-util-xs-perl, libsafe-isa-perl, libscalar-list-utils-perl, libsereal-decoder-perl, libsereal-encoder-perl, libsereal-perl, libstrictures-perl, libsub-install-perl, libtest-deep-perl, libtest-deep-unorderedpairs-perl, libtest-fatal-perl, libtest-file-sharedir-perl, libtest-json-schema-acceptance-perl (>= 1.021), libtest-memory-cycle-perl, libtest-needs-perl, libtest-simple-perl, libtest-warnings-perl, libtest-without-module-perl (>= 0.21), libtime-moment-perl, libtype-tiny-perl (>= 1.016003), libtype-tiny-xs-perl
dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'.
Selecting previously unselected package pbuilder-satisfydepends-dummy.
(Reading database ... 19780 files and directories currently installed.)
Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ...
Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ...
dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested:
 pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however:
  Package debhelper-compat is not installed.
 pbuilder-satisfydepends-dummy depends on libmodule-build-tiny-perl; however:
  Package libmodule-build-tiny-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libautovivification-perl; however:
  Package libautovivification-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libbuiltin-compat-perl; however:
  Package libbuiltin-compat-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libcpan-meta-check-perl; however:
  Package libcpan-meta-check-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libcpanel-json-xs-perl (>= 4.38); however:
  Package libcpanel-json-xs-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libdata-validate-domain-perl; however:
  Package libdata-validate-domain-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libdatetime-format-rfc3339-perl; however:
  Package libdatetime-format-rfc3339-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libemail-address-xs-perl; however:
  Package libemail-address-xs-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libfeature-compat-try-perl; however:
  Package libfeature-compat-try-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libfile-sharedir-perl; however:
  Package libfile-sharedir-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libgetopt-long-descriptive-perl; however:
  Package libgetopt-long-descriptive-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libmojolicious-perl; however:
  Package libmojolicious-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libmoo-perl; however:
  Package libmoo-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libmoox-typetiny-perl; however:
  Package libmoox-typetiny-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libnamespace-clean-perl; however:
  Package libnamespace-clean-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libnet-idn-encode-perl; however:
  Package libnet-idn-encode-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libpath-tiny-perl; however:
  Package libpath-tiny-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libref-util-perl; however:
  Package libref-util-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libref-util-xs-perl; however:
  Package libref-util-xs-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libsafe-isa-perl; however:
  Package libsafe-isa-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libsereal-decoder-perl; however:
  Package libsereal-decoder-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libsereal-encoder-perl; however:
  Package libsereal-encoder-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libsereal-perl; however:
  Package libsereal-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libstrictures-perl; however:
  Package libstrictures-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libsub-install-perl; however:
  Package libsub-install-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libtest-deep-perl; however:
  Package libtest-deep-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libtest-deep-unorderedpairs-perl; however:
  Package libtest-deep-unorderedpairs-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libtest-fatal-perl; however:
  Package libtest-fatal-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libtest-file-sharedir-perl; however:
  Package libtest-file-sharedir-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libtest-json-schema-acceptance-perl (>= 1.021); however:
  Package libtest-json-schema-acceptance-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libtest-memory-cycle-perl; however:
  Package libtest-memory-cycle-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libtest-needs-perl; however:
  Package libtest-needs-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libtest-warnings-perl; however:
  Package libtest-warnings-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libtest-without-module-perl (>= 0.21); however:
  Package libtest-without-module-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libtime-moment-perl; however:
  Package libtime-moment-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libtype-tiny-perl (>= 1.016003); however:
  Package libtype-tiny-perl is not installed.
 pbuilder-satisfydepends-dummy depends on libtype-tiny-xs-perl; however:
  Package libtype-tiny-xs-perl is not installed.

Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ...
Reading package lists...
Building dependency tree...
Reading state information...
Initializing package states...
Writing extended state information...
Building tag database...
pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0)
pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0)
The following NEW packages will be installed:
  autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} debhelper{a} dh-autoreconf{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} git{a} git-man{a} groff-base{a} intltool-debian{a} javascript-common{a} libalgorithm-c3-perl{a} libarchive-zip-perl{a} libautovivification-perl{a} libb-hooks-endofscope-perl{a} libb-hooks-op-check-perl{a} libbrotli1{a} libbuiltin-compat-perl{a} libclass-c3-perl{a} libclass-data-inheritable-perl{a} libclass-inspector-perl{a} libclass-method-modifiers-perl{a} libclass-singleton-perl{a} libclass-tiny-perl{a} libclass-xsaccessor-perl{a} libclone-perl{a} libcom-err2{a} libcpan-meta-check-perl{a} libcpan-requirements-dynamic-perl{a} libcpanel-json-xs-perl{a} libcurl3t64-gnutls{a} libdata-optlist-perl{a} libdata-validate-domain-perl{a} libdatetime-format-rfc3339-perl{a} libdatetime-locale-perl{a} libdatetime-perl{a} libdatetime-timezone-perl{a} libdebhelper-perl{a} libdevel-callchecker-perl{a} libdevel-cycle-perl{a} libdevel-stacktrace-perl{a} libdynaloader-functions-perl{a} libelf1t64{a} libemail-address-xs-perl{a} liberror-perl{a} libeval-closure-perl{a} libexception-class-perl{a} libexpat1{a} libexporter-tiny-perl{a} libextutils-config-perl{a} libextutils-hascompiler-perl{a} libextutils-helpers-perl{a} libextutils-installpaths-perl{a} libfeature-compat-try-perl{a} libffi8{a} libfile-chdir-perl{a} libfile-copy-recursive-perl{a} libfile-sharedir-perl{a} libfile-stripnondeterminism-perl{a} libgetopt-long-descriptive-perl{a} libgit-wrapper-perl{a} libgnutls30t64{a} libgssapi-krb5-2{a} libicu72{a} libidn2-0{a} libimport-into-perl{a} libio-stringy-perl{a} libjs-bootstrap5{a} libjs-highlight.js{a} libjs-popper.js{a} libjson-perl{a} libk5crypto3{a} libkeyutils1{a} libkrb5-3{a} libkrb5support0{a} libldap2{a} libmagic-mgc{a} libmagic1t64{a} libmodule-build-tiny-perl{a} libmodule-implementation-perl{a} libmodule-runtime-perl{a} libmojolicious-perl{a} libmoo-perl{a} libmoox-typetiny-perl{a} libmro-compat-perl{a} libnamespace-autoclean-perl{a} libnamespace-clean-perl{a} libnet-domain-tld-perl{a} libnet-idn-encode-perl{a} libnghttp2-14{a} libnghttp3-9{a} libngtcp2-16{a} libngtcp2-crypto-gnutls8{a} libp11-kit0{a} libpackage-stash-perl{a} libpadwalker-perl{a} libparams-classify-perl{a} libparams-util-perl{a} libparams-validate-perl{a} libparams-validationcompiler-perl{a} libpath-tiny-perl{a} libpipeline1{a} libpsl5t64{a} libref-util-perl{a} libref-util-xs-perl{a} librole-tiny-perl{a} librtmp1{a} libsafe-isa-perl{a} libsasl2-2{a} libsasl2-modules-db{a} libscope-guard-perl{a} libsereal-decoder-perl{a} libsereal-encoder-perl{a} libsereal-perl{a} libsort-versions-perl{a} libspecio-perl{a} libssh2-1t64{a} libstrictures-perl{a} libsub-exporter-perl{a} libsub-exporter-progressive-perl{a} libsub-identify-perl{a} libsub-install-perl{a} libsub-name-perl{a} libsub-quote-perl{a} libsyntax-keyword-try-perl{a} libtasn1-6{a} libtest-deep-perl{a} libtest-deep-unorderedpairs-perl{a} libtest-fatal-perl{a} libtest-file-sharedir-perl{a} libtest-json-schema-acceptance-perl{a} libtest-memory-cycle-perl{a} libtest-needs-perl{a} libtest-warnings-perl{a} libtest-without-module-perl{a} libtest2-suite-perl{a} libtime-moment-perl{a} libtool{a} libtry-tiny-perl{a} libtype-tiny-perl{a} libtype-tiny-xs-perl{a} libuchardet0{a} libunistring5{a} libvariable-magic-perl{a} libxml2{a} libxs-parse-keyword-perl{a} libxstring-perl{a} m4{a} man-db{a} node-popper2{a} po-debconf{a} sensible-utils{a} tzdata{a} 
The following packages are RECOMMENDED but will NOT be installed:
  ca-certificates curl krb5-locales less libarchive-cpio-perl libclass-c3-xs-perl libcryptx-perl libdevel-lexalias-perl libev-perl libfuture-asyncawait-perl libio-socket-socks-perl libio-socket-ssl-perl libjson-xs-perl libldap-common libltdl-dev libmail-sendmail-perl libmodule-pluggable-perl libmojo-server-fastcgi-perl libpackage-stash-xs-perl libreadonly-perl libsasl2-modules libunicode-utf8-perl lynx node-jquery openssh-client publicsuffix wget 
0 packages upgraded, 159 newly installed, 0 to remove and 0 not upgraded.
Need to get 44.7 MB of archives. After unpacking 199 MB will be used.
Writing extended state information...
Get: 1 http://deb.debian.org/debian unstable/main amd64 tzdata all 2025a-2 [259 kB]
Get: 2 http://deb.debian.org/debian unstable/main amd64 sensible-utils all 0.0.24 [24.8 kB]
Get: 3 http://deb.debian.org/debian unstable/main amd64 libmagic-mgc amd64 1:5.45-3+b1 [314 kB]
Get: 4 http://deb.debian.org/debian unstable/main amd64 libmagic1t64 amd64 1:5.45-3+b1 [108 kB]
Get: 5 http://deb.debian.org/debian unstable/main amd64 file amd64 1:5.45-3+b1 [43.3 kB]
Get: 6 http://deb.debian.org/debian unstable/main amd64 gettext-base amd64 0.23.1-1 [243 kB]
Get: 7 http://deb.debian.org/debian unstable/main amd64 libuchardet0 amd64 0.0.8-1+b2 [68.9 kB]
Get: 8 http://deb.debian.org/debian unstable/main amd64 groff-base amd64 1.23.0-7 [1185 kB]
Get: 9 http://deb.debian.org/debian unstable/main amd64 bsdextrautils amd64 2.40.4-5 [92.4 kB]
Get: 10 http://deb.debian.org/debian unstable/main amd64 libpipeline1 amd64 1.5.8-1 [42.0 kB]
Get: 11 http://deb.debian.org/debian unstable/main amd64 man-db amd64 2.13.0-1 [1420 kB]
Get: 12 http://deb.debian.org/debian unstable/main amd64 m4 amd64 1.4.19-5 [294 kB]
Get: 13 http://deb.debian.org/debian unstable/main amd64 autoconf all 2.72-3 [493 kB]
Get: 14 http://deb.debian.org/debian unstable/main amd64 autotools-dev all 20220109.1 [51.6 kB]
Get: 15 http://deb.debian.org/debian unstable/main amd64 automake all 1:1.17-3 [862 kB]
Get: 16 http://deb.debian.org/debian unstable/main amd64 autopoint all 0.23.1-1 [770 kB]
Get: 17 http://deb.debian.org/debian unstable/main amd64 libdebhelper-perl all 13.24.1 [90.9 kB]
Get: 18 http://deb.debian.org/debian unstable/main amd64 libtool all 2.5.4-3 [539 kB]
Get: 19 http://deb.debian.org/debian unstable/main amd64 dh-autoreconf all 20 [17.1 kB]
Get: 20 http://deb.debian.org/debian unstable/main amd64 libarchive-zip-perl all 1.68-1 [104 kB]
Get: 21 http://deb.debian.org/debian unstable/main amd64 libfile-stripnondeterminism-perl all 1.14.1-2 [19.7 kB]
Get: 22 http://deb.debian.org/debian unstable/main amd64 dh-strip-nondeterminism all 1.14.1-2 [8620 B]
Get: 23 http://deb.debian.org/debian unstable/main amd64 libelf1t64 amd64 0.192-4 [189 kB]
Get: 24 http://deb.debian.org/debian unstable/main amd64 dwz amd64 0.15-1+b1 [110 kB]
Get: 25 http://deb.debian.org/debian unstable/main amd64 libunistring5 amd64 1.3-1 [476 kB]
Get: 26 http://deb.debian.org/debian unstable/main amd64 libicu72 amd64 72.1-6 [9421 kB]
Get: 27 http://deb.debian.org/debian unstable/main amd64 libxml2 amd64 2.12.7+dfsg+really2.9.14-0.2+b2 [699 kB]
Get: 28 http://deb.debian.org/debian unstable/main amd64 gettext amd64 0.23.1-1 [1680 kB]
Get: 29 http://deb.debian.org/debian unstable/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB]
Get: 30 http://deb.debian.org/debian unstable/main amd64 po-debconf all 1.0.21+nmu1 [248 kB]
Get: 31 http://deb.debian.org/debian unstable/main amd64 debhelper all 13.24.1 [920 kB]
Get: 32 http://deb.debian.org/debian unstable/main amd64 libbrotli1 amd64 1.1.0-2+b7 [307 kB]
Get: 33 http://deb.debian.org/debian unstable/main amd64 libidn2-0 amd64 2.3.7-2+b1 [129 kB]
Get: 34 http://deb.debian.org/debian unstable/main amd64 libffi8 amd64 3.4.7-1 [23.9 kB]
Get: 35 http://deb.debian.org/debian unstable/main amd64 libp11-kit0 amd64 0.25.5-3 [425 kB]
Get: 36 http://deb.debian.org/debian unstable/main amd64 libtasn1-6 amd64 4.20.0-2 [49.9 kB]
Get: 37 http://deb.debian.org/debian unstable/main amd64 libgnutls30t64 amd64 3.8.9-2 [1464 kB]
Get: 38 http://deb.debian.org/debian unstable/main amd64 libkrb5support0 amd64 1.21.3-4 [32.8 kB]
Get: 39 http://deb.debian.org/debian unstable/main amd64 libcom-err2 amd64 1.47.2-1 [24.0 kB]
Get: 40 http://deb.debian.org/debian unstable/main amd64 libk5crypto3 amd64 1.21.3-4 [80.9 kB]
Get: 41 http://deb.debian.org/debian unstable/main amd64 libkeyutils1 amd64 1.6.3-4 [9092 B]
Get: 42 http://deb.debian.org/debian unstable/main amd64 libkrb5-3 amd64 1.21.3-4 [326 kB]
Get: 43 http://deb.debian.org/debian unstable/main amd64 libgssapi-krb5-2 amd64 1.21.3-4 [138 kB]
Get: 44 http://deb.debian.org/debian unstable/main amd64 libsasl2-modules-db amd64 2.1.28+dfsg1-9 [19.8 kB]
Get: 45 http://deb.debian.org/debian unstable/main amd64 libsasl2-2 amd64 2.1.28+dfsg1-9 [57.5 kB]
Get: 46 http://deb.debian.org/debian unstable/main amd64 libldap2 amd64 2.6.9+dfsg-1 [192 kB]
Get: 47 http://deb.debian.org/debian unstable/main amd64 libnghttp2-14 amd64 1.64.0-1 [75.5 kB]
Get: 48 http://deb.debian.org/debian unstable/main amd64 libnghttp3-9 amd64 1.6.0-2 [64.8 kB]
Get: 49 http://deb.debian.org/debian unstable/main amd64 libngtcp2-16 amd64 1.9.1-1 [119 kB]
Get: 50 http://deb.debian.org/debian unstable/main amd64 libngtcp2-crypto-gnutls8 amd64 1.9.1-1 [18.5 kB]
Get: 51 http://deb.debian.org/debian unstable/main amd64 libpsl5t64 amd64 0.21.2-1.1+b1 [57.2 kB]
Get: 52 http://deb.debian.org/debian unstable/main amd64 librtmp1 amd64 2.4+20151223.gitfa8646d.1-2+b5 [58.8 kB]
Get: 53 http://deb.debian.org/debian unstable/main amd64 libssh2-1t64 amd64 1.11.1-1 [245 kB]
Get: 54 http://deb.debian.org/debian unstable/main amd64 libcurl3t64-gnutls amd64 8.12.1-3 [365 kB]
Get: 55 http://deb.debian.org/debian unstable/main amd64 libexpat1 amd64 2.6.4-1 [106 kB]
Get: 56 http://deb.debian.org/debian unstable/main amd64 liberror-perl all 0.17030-1 [26.9 kB]
Get: 57 http://deb.debian.org/debian unstable/main amd64 git-man all 1:2.47.2-0.1 [2205 kB]
Get: 58 http://deb.debian.org/debian unstable/main amd64 git amd64 1:2.47.2-0.1 [8788 kB]
Get: 59 http://deb.debian.org/debian unstable/main amd64 javascript-common all 12 [5236 B]
Get: 60 http://deb.debian.org/debian unstable/main amd64 libalgorithm-c3-perl all 0.11-2 [10.8 kB]
Get: 61 http://deb.debian.org/debian unstable/main amd64 libautovivification-perl amd64 0.18-2+b4 [25.2 kB]
Get: 62 http://deb.debian.org/debian unstable/main amd64 libb-hooks-op-check-perl amd64 0.22-3+b2 [10.6 kB]
Get: 63 http://deb.debian.org/debian unstable/main amd64 libdynaloader-functions-perl all 0.004-1 [12.1 kB]
Get: 64 http://deb.debian.org/debian unstable/main amd64 libdevel-callchecker-perl amd64 0.009-1+b1 [16.2 kB]
Get: 65 http://deb.debian.org/debian unstable/main amd64 libparams-classify-perl amd64 0.015-2+b4 [22.5 kB]
Get: 66 http://deb.debian.org/debian unstable/main amd64 libmodule-runtime-perl all 0.016-2 [19.6 kB]
Get: 67 http://deb.debian.org/debian unstable/main amd64 libtry-tiny-perl all 0.32-1 [22.9 kB]
Get: 68 http://deb.debian.org/debian unstable/main amd64 libmodule-implementation-perl all 0.09-2 [12.6 kB]
Get: 69 http://deb.debian.org/debian unstable/main amd64 libsub-exporter-progressive-perl all 0.001013-3 [7496 B]
Get: 70 http://deb.debian.org/debian unstable/main amd64 libvariable-magic-perl amd64 0.64-1+b1 [44.9 kB]
Get: 71 http://deb.debian.org/debian unstable/main amd64 libb-hooks-endofscope-perl all 0.28-1 [17.5 kB]
Get: 72 http://deb.debian.org/debian unstable/main amd64 libpackage-stash-perl all 0.40-1 [22.0 kB]
Get: 73 http://deb.debian.org/debian unstable/main amd64 libsub-identify-perl amd64 0.14-3+b3 [11.3 kB]
Get: 74 http://deb.debian.org/debian unstable/main amd64 libsub-name-perl amd64 0.28-1 [12.2 kB]
Get: 75 http://deb.debian.org/debian unstable/main amd64 libnamespace-clean-perl all 0.27-2 [17.8 kB]
Get: 76 http://deb.debian.org/debian unstable/main amd64 libbuiltin-compat-perl all 0.003003-2 [7404 B]
Get: 77 http://deb.debian.org/debian unstable/main amd64 libclass-c3-perl all 0.35-2 [21.0 kB]
Get: 78 http://deb.debian.org/debian unstable/main amd64 libclass-data-inheritable-perl all 0.10-1 [8632 B]
Get: 79 http://deb.debian.org/debian unstable/main amd64 libclass-inspector-perl all 1.36-3 [17.5 kB]
Get: 80 http://deb.debian.org/debian unstable/main amd64 libclass-method-modifiers-perl all 2.15-1 [18.0 kB]
Get: 81 http://deb.debian.org/debian unstable/main amd64 libclass-singleton-perl all 1.6-2 [12.5 kB]
Get: 82 http://deb.debian.org/debian unstable/main amd64 libclass-tiny-perl all 1.008-2 [18.6 kB]
Get: 83 http://deb.debian.org/debian unstable/main amd64 libclass-xsaccessor-perl amd64 1.19-4+b5 [36.1 kB]
Get: 84 http://deb.debian.org/debian unstable/main amd64 libclone-perl amd64 0.47-1+b1 [13.9 kB]
Get: 85 http://deb.debian.org/debian unstable/main amd64 libcpan-meta-check-perl all 0.018-1 [7044 B]
Get: 86 http://deb.debian.org/debian unstable/main amd64 libextutils-config-perl all 0.010-1 [8364 B]
Get: 87 http://deb.debian.org/debian unstable/main amd64 libextutils-hascompiler-perl all 0.025-1 [9232 B]
Get: 88 http://deb.debian.org/debian unstable/main amd64 libcpan-requirements-dynamic-perl all 0.001-2 [8264 B]
Get: 89 http://deb.debian.org/debian unstable/main amd64 libcpanel-json-xs-perl amd64 4.39-1 [130 kB]
Get: 90 http://deb.debian.org/debian unstable/main amd64 libparams-util-perl amd64 1.102-3+b1 [24.4 kB]
Get: 91 http://deb.debian.org/debian unstable/main amd64 libsub-install-perl all 0.929-1 [10.5 kB]
Get: 92 http://deb.debian.org/debian unstable/main amd64 libdata-optlist-perl all 0.114-1 [10.6 kB]
Get: 93 http://deb.debian.org/debian unstable/main amd64 libnet-domain-tld-perl all 1.75-4 [31.5 kB]
Get: 94 http://deb.debian.org/debian unstable/main amd64 libdata-validate-domain-perl all 0.15-1 [11.9 kB]
Get: 95 http://deb.debian.org/debian unstable/main amd64 libfile-sharedir-perl all 1.118-3 [16.0 kB]
Get: 96 http://deb.debian.org/debian unstable/main amd64 libnamespace-autoclean-perl all 0.31-1 [13.8 kB]
Get: 97 http://deb.debian.org/debian unstable/main amd64 libsub-exporter-perl all 0.990-1 [50.6 kB]
Get: 98 http://deb.debian.org/debian unstable/main amd64 libeval-closure-perl all 0.14-3 [11.2 kB]
Get: 99 http://deb.debian.org/debian unstable/main amd64 libdevel-stacktrace-perl all 2.0500-1 [26.4 kB]
Get: 100 http://deb.debian.org/debian unstable/main amd64 libexception-class-perl all 1.45-1 [34.6 kB]
Get: 101 http://deb.debian.org/debian unstable/main amd64 libparams-validationcompiler-perl all 0.31-1 [30.9 kB]
Get: 102 http://deb.debian.org/debian unstable/main amd64 libmro-compat-perl all 0.15-2 [11.8 kB]
Get: 103 http://deb.debian.org/debian unstable/main amd64 librole-tiny-perl all 2.002004-1 [21.4 kB]
Get: 104 http://deb.debian.org/debian unstable/main amd64 libsub-quote-perl all 2.006008-1 [21.8 kB]
Get: 105 http://deb.debian.org/debian unstable/main amd64 libxstring-perl amd64 0.005-2+b4 [8076 B]
Get: 106 http://deb.debian.org/debian unstable/main amd64 libspecio-perl all 0.49-1 [132 kB]
Get: 107 http://deb.debian.org/debian unstable/main amd64 libdatetime-locale-perl all 1:1.41-1 [3131 kB]
Get: 108 http://deb.debian.org/debian unstable/main amd64 libdatetime-timezone-perl all 1:2.64-1+2025a [261 kB]
Get: 109 http://deb.debian.org/debian unstable/main amd64 libdatetime-perl amd64 2:1.65-1+b2 [116 kB]
Get: 110 http://deb.debian.org/debian unstable/main amd64 libdatetime-format-rfc3339-perl all 1.10.0-1 [8660 B]
Get: 111 http://deb.debian.org/debian unstable/main amd64 libdevel-cycle-perl all 1.12-2 [11.9 kB]
Get: 112 http://deb.debian.org/debian unstable/main amd64 libemail-address-xs-perl amd64 1.05-1+b4 [29.4 kB]
Get: 113 http://deb.debian.org/debian unstable/main amd64 libexporter-tiny-perl all 1.006002-1 [38.7 kB]
Get: 114 http://deb.debian.org/debian unstable/main amd64 libextutils-helpers-perl all 0.028-1 [11.9 kB]
Get: 115 http://deb.debian.org/debian unstable/main amd64 libextutils-installpaths-perl all 0.014-1 [13.9 kB]
Get: 116 http://deb.debian.org/debian unstable/main amd64 libxs-parse-keyword-perl amd64 0.48-2 [65.7 kB]
Get: 117 http://deb.debian.org/debian unstable/main amd64 libsyntax-keyword-try-perl amd64 0.30-1+b1 [27.4 kB]
Get: 118 http://deb.debian.org/debian unstable/main amd64 libfeature-compat-try-perl all 0.05-1 [10.4 kB]
Get: 119 http://deb.debian.org/debian unstable/main amd64 libfile-chdir-perl all 0.1008-1.2 [11.9 kB]
Get: 120 http://deb.debian.org/debian unstable/main amd64 libfile-copy-recursive-perl all 0.45-4 [20.0 kB]
Get: 121 http://deb.debian.org/debian unstable/main amd64 libio-stringy-perl all 2.113-2 [48.3 kB]
Get: 122 http://deb.debian.org/debian unstable/main amd64 libparams-validate-perl amd64 1.31-2+b3 [63.4 kB]
Get: 123 http://deb.debian.org/debian unstable/main amd64 libgetopt-long-descriptive-perl all 0.116-2 [27.7 kB]
Get: 124 http://deb.debian.org/debian unstable/main amd64 libsort-versions-perl all 1.62-3 [8928 B]
Get: 125 http://deb.debian.org/debian unstable/main amd64 libgit-wrapper-perl all 0.048-2 [33.4 kB]
Get: 126 http://deb.debian.org/debian unstable/main amd64 libimport-into-perl all 1.002005-2 [11.3 kB]
Get: 127 http://deb.debian.org/debian unstable/main amd64 node-popper2 all 2.11.2-8 [100.0 kB]
Get: 128 http://deb.debian.org/debian unstable/main amd64 libjs-bootstrap5 all 5.3.3+dfsg-4 [366 kB]
Get: 129 http://deb.debian.org/debian unstable/main amd64 libjs-highlight.js all 9.18.5+dfsg1-2 [397 kB]
Get: 130 http://deb.debian.org/debian unstable/main amd64 libjs-popper.js all 1.16.1+ds-6 [52.4 kB]
Get: 131 http://deb.debian.org/debian unstable/main amd64 libjson-perl all 4.10000-1 [87.5 kB]
Get: 132 http://deb.debian.org/debian unstable/main amd64 libmodule-build-tiny-perl all 0.048-1 [11.9 kB]
Get: 133 http://deb.debian.org/debian unstable/main amd64 libmojolicious-perl all 9.39+dfsg-1 [845 kB]
Get: 134 http://deb.debian.org/debian unstable/main amd64 libmoo-perl all 2.005005-1 [58.0 kB]
Get: 135 http://deb.debian.org/debian unstable/main amd64 libtype-tiny-perl all 2.004000-1 [357 kB]
Get: 136 http://deb.debian.org/debian unstable/main amd64 libmoox-typetiny-perl all 0.002003-4 [6492 B]
Get: 137 http://deb.debian.org/debian unstable/main amd64 libnet-idn-encode-perl amd64 2.500-5+b1 [72.7 kB]
Get: 138 http://deb.debian.org/debian unstable/main amd64 libpadwalker-perl amd64 2.5-1+b6 [18.6 kB]
Get: 139 http://deb.debian.org/debian unstable/main amd64 libpath-tiny-perl all 0.146-1 [56.2 kB]
Get: 140 http://deb.debian.org/debian unstable/main amd64 libref-util-perl all 0.204-2 [17.4 kB]
Get: 141 http://deb.debian.org/debian unstable/main amd64 libref-util-xs-perl amd64 0.117-2+b4 [14.1 kB]
Get: 142 http://deb.debian.org/debian unstable/main amd64 libsafe-isa-perl all 1.000010-1 [8288 B]
Get: 143 http://deb.debian.org/debian unstable/main amd64 libscope-guard-perl all 0.21-2 [8212 B]
Get: 144 http://deb.debian.org/debian unstable/main amd64 libsereal-decoder-perl amd64 5.004+ds-1+b3 [100 kB]
Get: 145 http://deb.debian.org/debian unstable/main amd64 libsereal-encoder-perl amd64 5.004+ds-1+b3 [104 kB]
Get: 146 http://deb.debian.org/debian unstable/main amd64 libsereal-perl all 5.004-1 [13.5 kB]
Get: 147 http://deb.debian.org/debian unstable/main amd64 libstrictures-perl all 2.000006-1 [18.6 kB]
Get: 148 http://deb.debian.org/debian unstable/main amd64 libtest-deep-perl all 1.204-1 [52.9 kB]
Get: 149 http://deb.debian.org/debian unstable/main amd64 libtest-deep-unorderedpairs-perl all 0.006-3 [9576 B]
Get: 150 http://deb.debian.org/debian unstable/main amd64 libtest-fatal-perl all 0.017-1 [13.2 kB]
Get: 151 http://deb.debian.org/debian unstable/main amd64 libtest-file-sharedir-perl all 1.001002-2 [29.2 kB]
Get: 152 http://deb.debian.org/debian unstable/main amd64 libtest2-suite-perl all 0.000163-1 [383 kB]
Get: 153 http://deb.debian.org/debian unstable/main amd64 libtest-json-schema-acceptance-perl all 1.027-1 [96.1 kB]
Get: 154 http://deb.debian.org/debian unstable/main amd64 libtest-memory-cycle-perl all 1.06-2 [11.4 kB]
Get: 155 http://deb.debian.org/debian unstable/main amd64 libtest-needs-perl all 0.002010-1 [9352 B]
Get: 156 http://deb.debian.org/debian unstable/main amd64 libtest-warnings-perl all 0.038-1 [23.4 kB]
Get: 157 http://deb.debian.org/debian unstable/main amd64 libtest-without-module-perl all 0.23-1 [11.1 kB]
Get: 158 http://deb.debian.org/debian unstable/main amd64 libtime-moment-perl amd64 0.44-2+b4 [73.2 kB]
Get: 159 http://deb.debian.org/debian unstable/main amd64 libtype-tiny-xs-perl amd64 0.025-2+b1 [26.3 kB]
Fetched 44.7 MB in 3s (16.6 MB/s)
Preconfiguring packages ...
Selecting previously unselected package tzdata.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 19780 files and directories currently installed.)
Preparing to unpack .../000-tzdata_2025a-2_all.deb ...
Unpacking tzdata (2025a-2) ...
Selecting previously unselected package sensible-utils.
Preparing to unpack .../001-sensible-utils_0.0.24_all.deb ...
Unpacking sensible-utils (0.0.24) ...
Selecting previously unselected package libmagic-mgc.
Preparing to unpack .../002-libmagic-mgc_1%3a5.45-3+b1_amd64.deb ...
Unpacking libmagic-mgc (1:5.45-3+b1) ...
Selecting previously unselected package libmagic1t64:amd64.
Preparing to unpack .../003-libmagic1t64_1%3a5.45-3+b1_amd64.deb ...
Unpacking libmagic1t64:amd64 (1:5.45-3+b1) ...
Selecting previously unselected package file.
Preparing to unpack .../004-file_1%3a5.45-3+b1_amd64.deb ...
Unpacking file (1:5.45-3+b1) ...
Selecting previously unselected package gettext-base.
Preparing to unpack .../005-gettext-base_0.23.1-1_amd64.deb ...
Unpacking gettext-base (0.23.1-1) ...
Selecting previously unselected package libuchardet0:amd64.
Preparing to unpack .../006-libuchardet0_0.0.8-1+b2_amd64.deb ...
Unpacking libuchardet0:amd64 (0.0.8-1+b2) ...
Selecting previously unselected package groff-base.
Preparing to unpack .../007-groff-base_1.23.0-7_amd64.deb ...
Unpacking groff-base (1.23.0-7) ...
Selecting previously unselected package bsdextrautils.
Preparing to unpack .../008-bsdextrautils_2.40.4-5_amd64.deb ...
Unpacking bsdextrautils (2.40.4-5) ...
Selecting previously unselected package libpipeline1:amd64.
Preparing to unpack .../009-libpipeline1_1.5.8-1_amd64.deb ...
Unpacking libpipeline1:amd64 (1.5.8-1) ...
Selecting previously unselected package man-db.
Preparing to unpack .../010-man-db_2.13.0-1_amd64.deb ...
Unpacking man-db (2.13.0-1) ...
Selecting previously unselected package m4.
Preparing to unpack .../011-m4_1.4.19-5_amd64.deb ...
Unpacking m4 (1.4.19-5) ...
Selecting previously unselected package autoconf.
Preparing to unpack .../012-autoconf_2.72-3_all.deb ...
Unpacking autoconf (2.72-3) ...
Selecting previously unselected package autotools-dev.
Preparing to unpack .../013-autotools-dev_20220109.1_all.deb ...
Unpacking autotools-dev (20220109.1) ...
Selecting previously unselected package automake.
Preparing to unpack .../014-automake_1%3a1.17-3_all.deb ...
Unpacking automake (1:1.17-3) ...
Selecting previously unselected package autopoint.
Preparing to unpack .../015-autopoint_0.23.1-1_all.deb ...
Unpacking autopoint (0.23.1-1) ...
Selecting previously unselected package libdebhelper-perl.
Preparing to unpack .../016-libdebhelper-perl_13.24.1_all.deb ...
Unpacking libdebhelper-perl (13.24.1) ...
Selecting previously unselected package libtool.
Preparing to unpack .../017-libtool_2.5.4-3_all.deb ...
Unpacking libtool (2.5.4-3) ...
Selecting previously unselected package dh-autoreconf.
Preparing to unpack .../018-dh-autoreconf_20_all.deb ...
Unpacking dh-autoreconf (20) ...
Selecting previously unselected package libarchive-zip-perl.
Preparing to unpack .../019-libarchive-zip-perl_1.68-1_all.deb ...
Unpacking libarchive-zip-perl (1.68-1) ...
Selecting previously unselected package libfile-stripnondeterminism-perl.
Preparing to unpack .../020-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ...
Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ...
Selecting previously unselected package dh-strip-nondeterminism.
Preparing to unpack .../021-dh-strip-nondeterminism_1.14.1-2_all.deb ...
Unpacking dh-strip-nondeterminism (1.14.1-2) ...
Selecting previously unselected package libelf1t64:amd64.
Preparing to unpack .../022-libelf1t64_0.192-4_amd64.deb ...
Unpacking libelf1t64:amd64 (0.192-4) ...
Selecting previously unselected package dwz.
Preparing to unpack .../023-dwz_0.15-1+b1_amd64.deb ...
Unpacking dwz (0.15-1+b1) ...
Selecting previously unselected package libunistring5:amd64.
Preparing to unpack .../024-libunistring5_1.3-1_amd64.deb ...
Unpacking libunistring5:amd64 (1.3-1) ...
Selecting previously unselected package libicu72:amd64.
Preparing to unpack .../025-libicu72_72.1-6_amd64.deb ...
Unpacking libicu72:amd64 (72.1-6) ...
Selecting previously unselected package libxml2:amd64.
Preparing to unpack .../026-libxml2_2.12.7+dfsg+really2.9.14-0.2+b2_amd64.deb ...
Unpacking libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b2) ...
Selecting previously unselected package gettext.
Preparing to unpack .../027-gettext_0.23.1-1_amd64.deb ...
Unpacking gettext (0.23.1-1) ...
Selecting previously unselected package intltool-debian.
Preparing to unpack .../028-intltool-debian_0.35.0+20060710.6_all.deb ...
Unpacking intltool-debian (0.35.0+20060710.6) ...
Selecting previously unselected package po-debconf.
Preparing to unpack .../029-po-debconf_1.0.21+nmu1_all.deb ...
Unpacking po-debconf (1.0.21+nmu1) ...
Selecting previously unselected package debhelper.
Preparing to unpack .../030-debhelper_13.24.1_all.deb ...
Unpacking debhelper (13.24.1) ...
Selecting previously unselected package libbrotli1:amd64.
Preparing to unpack .../031-libbrotli1_1.1.0-2+b7_amd64.deb ...
Unpacking libbrotli1:amd64 (1.1.0-2+b7) ...
Selecting previously unselected package libidn2-0:amd64.
Preparing to unpack .../032-libidn2-0_2.3.7-2+b1_amd64.deb ...
Unpacking libidn2-0:amd64 (2.3.7-2+b1) ...
Selecting previously unselected package libffi8:amd64.
Preparing to unpack .../033-libffi8_3.4.7-1_amd64.deb ...
Unpacking libffi8:amd64 (3.4.7-1) ...
Selecting previously unselected package libp11-kit0:amd64.
Preparing to unpack .../034-libp11-kit0_0.25.5-3_amd64.deb ...
Unpacking libp11-kit0:amd64 (0.25.5-3) ...
Selecting previously unselected package libtasn1-6:amd64.
Preparing to unpack .../035-libtasn1-6_4.20.0-2_amd64.deb ...
Unpacking libtasn1-6:amd64 (4.20.0-2) ...
Selecting previously unselected package libgnutls30t64:amd64.
Preparing to unpack .../036-libgnutls30t64_3.8.9-2_amd64.deb ...
Unpacking libgnutls30t64:amd64 (3.8.9-2) ...
Selecting previously unselected package libkrb5support0:amd64.
Preparing to unpack .../037-libkrb5support0_1.21.3-4_amd64.deb ...
Unpacking libkrb5support0:amd64 (1.21.3-4) ...
Selecting previously unselected package libcom-err2:amd64.
Preparing to unpack .../038-libcom-err2_1.47.2-1_amd64.deb ...
Unpacking libcom-err2:amd64 (1.47.2-1) ...
Selecting previously unselected package libk5crypto3:amd64.
Preparing to unpack .../039-libk5crypto3_1.21.3-4_amd64.deb ...
Unpacking libk5crypto3:amd64 (1.21.3-4) ...
Selecting previously unselected package libkeyutils1:amd64.
Preparing to unpack .../040-libkeyutils1_1.6.3-4_amd64.deb ...
Unpacking libkeyutils1:amd64 (1.6.3-4) ...
Selecting previously unselected package libkrb5-3:amd64.
Preparing to unpack .../041-libkrb5-3_1.21.3-4_amd64.deb ...
Unpacking libkrb5-3:amd64 (1.21.3-4) ...
Selecting previously unselected package libgssapi-krb5-2:amd64.
Preparing to unpack .../042-libgssapi-krb5-2_1.21.3-4_amd64.deb ...
Unpacking libgssapi-krb5-2:amd64 (1.21.3-4) ...
Selecting previously unselected package libsasl2-modules-db:amd64.
Preparing to unpack .../043-libsasl2-modules-db_2.1.28+dfsg1-9_amd64.deb ...
Unpacking libsasl2-modules-db:amd64 (2.1.28+dfsg1-9) ...
Selecting previously unselected package libsasl2-2:amd64.
Preparing to unpack .../044-libsasl2-2_2.1.28+dfsg1-9_amd64.deb ...
Unpacking libsasl2-2:amd64 (2.1.28+dfsg1-9) ...
Selecting previously unselected package libldap2:amd64.
Preparing to unpack .../045-libldap2_2.6.9+dfsg-1_amd64.deb ...
Unpacking libldap2:amd64 (2.6.9+dfsg-1) ...
Selecting previously unselected package libnghttp2-14:amd64.
Preparing to unpack .../046-libnghttp2-14_1.64.0-1_amd64.deb ...
Unpacking libnghttp2-14:amd64 (1.64.0-1) ...
Selecting previously unselected package libnghttp3-9:amd64.
Preparing to unpack .../047-libnghttp3-9_1.6.0-2_amd64.deb ...
Unpacking libnghttp3-9:amd64 (1.6.0-2) ...
Selecting previously unselected package libngtcp2-16:amd64.
Preparing to unpack .../048-libngtcp2-16_1.9.1-1_amd64.deb ...
Unpacking libngtcp2-16:amd64 (1.9.1-1) ...
Selecting previously unselected package libngtcp2-crypto-gnutls8:amd64.
Preparing to unpack .../049-libngtcp2-crypto-gnutls8_1.9.1-1_amd64.deb ...
Unpacking libngtcp2-crypto-gnutls8:amd64 (1.9.1-1) ...
Selecting previously unselected package libpsl5t64:amd64.
Preparing to unpack .../050-libpsl5t64_0.21.2-1.1+b1_amd64.deb ...
Unpacking libpsl5t64:amd64 (0.21.2-1.1+b1) ...
Selecting previously unselected package librtmp1:amd64.
Preparing to unpack .../051-librtmp1_2.4+20151223.gitfa8646d.1-2+b5_amd64.deb ...
Unpacking librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2+b5) ...
Selecting previously unselected package libssh2-1t64:amd64.
Preparing to unpack .../052-libssh2-1t64_1.11.1-1_amd64.deb ...
Unpacking libssh2-1t64:amd64 (1.11.1-1) ...
Selecting previously unselected package libcurl3t64-gnutls:amd64.
Preparing to unpack .../053-libcurl3t64-gnutls_8.12.1-3_amd64.deb ...
Unpacking libcurl3t64-gnutls:amd64 (8.12.1-3) ...
Selecting previously unselected package libexpat1:amd64.
Preparing to unpack .../054-libexpat1_2.6.4-1_amd64.deb ...
Unpacking libexpat1:amd64 (2.6.4-1) ...
Selecting previously unselected package liberror-perl.
Preparing to unpack .../055-liberror-perl_0.17030-1_all.deb ...
Unpacking liberror-perl (0.17030-1) ...
Selecting previously unselected package git-man.
Preparing to unpack .../056-git-man_1%3a2.47.2-0.1_all.deb ...
Unpacking git-man (1:2.47.2-0.1) ...
Selecting previously unselected package git.
Preparing to unpack .../057-git_1%3a2.47.2-0.1_amd64.deb ...
Unpacking git (1:2.47.2-0.1) ...
Selecting previously unselected package javascript-common.
Preparing to unpack .../058-javascript-common_12_all.deb ...
Unpacking javascript-common (12) ...
Selecting previously unselected package libalgorithm-c3-perl.
Preparing to unpack .../059-libalgorithm-c3-perl_0.11-2_all.deb ...
Unpacking libalgorithm-c3-perl (0.11-2) ...
Selecting previously unselected package libautovivification-perl:amd64.
Preparing to unpack .../060-libautovivification-perl_0.18-2+b4_amd64.deb ...
Unpacking libautovivification-perl:amd64 (0.18-2+b4) ...
Selecting previously unselected package libb-hooks-op-check-perl:amd64.
Preparing to unpack .../061-libb-hooks-op-check-perl_0.22-3+b2_amd64.deb ...
Unpacking libb-hooks-op-check-perl:amd64 (0.22-3+b2) ...
Selecting previously unselected package libdynaloader-functions-perl.
Preparing to unpack .../062-libdynaloader-functions-perl_0.004-1_all.deb ...
Unpacking libdynaloader-functions-perl (0.004-1) ...
Selecting previously unselected package libdevel-callchecker-perl:amd64.
Preparing to unpack .../063-libdevel-callchecker-perl_0.009-1+b1_amd64.deb ...
Unpacking libdevel-callchecker-perl:amd64 (0.009-1+b1) ...
Selecting previously unselected package libparams-classify-perl:amd64.
Preparing to unpack .../064-libparams-classify-perl_0.015-2+b4_amd64.deb ...
Unpacking libparams-classify-perl:amd64 (0.015-2+b4) ...
Selecting previously unselected package libmodule-runtime-perl.
Preparing to unpack .../065-libmodule-runtime-perl_0.016-2_all.deb ...
Unpacking libmodule-runtime-perl (0.016-2) ...
Selecting previously unselected package libtry-tiny-perl.
Preparing to unpack .../066-libtry-tiny-perl_0.32-1_all.deb ...
Unpacking libtry-tiny-perl (0.32-1) ...
Selecting previously unselected package libmodule-implementation-perl.
Preparing to unpack .../067-libmodule-implementation-perl_0.09-2_all.deb ...
Unpacking libmodule-implementation-perl (0.09-2) ...
Selecting previously unselected package libsub-exporter-progressive-perl.
Preparing to unpack .../068-libsub-exporter-progressive-perl_0.001013-3_all.deb ...
Unpacking libsub-exporter-progressive-perl (0.001013-3) ...
Selecting previously unselected package libvariable-magic-perl.
Preparing to unpack .../069-libvariable-magic-perl_0.64-1+b1_amd64.deb ...
Unpacking libvariable-magic-perl (0.64-1+b1) ...
Selecting previously unselected package libb-hooks-endofscope-perl.
Preparing to unpack .../070-libb-hooks-endofscope-perl_0.28-1_all.deb ...
Unpacking libb-hooks-endofscope-perl (0.28-1) ...
Selecting previously unselected package libpackage-stash-perl.
Preparing to unpack .../071-libpackage-stash-perl_0.40-1_all.deb ...
Unpacking libpackage-stash-perl (0.40-1) ...
Selecting previously unselected package libsub-identify-perl.
Preparing to unpack .../072-libsub-identify-perl_0.14-3+b3_amd64.deb ...
Unpacking libsub-identify-perl (0.14-3+b3) ...
Selecting previously unselected package libsub-name-perl:amd64.
Preparing to unpack .../073-libsub-name-perl_0.28-1_amd64.deb ...
Unpacking libsub-name-perl:amd64 (0.28-1) ...
Selecting previously unselected package libnamespace-clean-perl.
Preparing to unpack .../074-libnamespace-clean-perl_0.27-2_all.deb ...
Unpacking libnamespace-clean-perl (0.27-2) ...
Selecting previously unselected package libbuiltin-compat-perl.
Preparing to unpack .../075-libbuiltin-compat-perl_0.003003-2_all.deb ...
Unpacking libbuiltin-compat-perl (0.003003-2) ...
Selecting previously unselected package libclass-c3-perl.
Preparing to unpack .../076-libclass-c3-perl_0.35-2_all.deb ...
Unpacking libclass-c3-perl (0.35-2) ...
Selecting previously unselected package libclass-data-inheritable-perl.
Preparing to unpack .../077-libclass-data-inheritable-perl_0.10-1_all.deb ...
Unpacking libclass-data-inheritable-perl (0.10-1) ...
Selecting previously unselected package libclass-inspector-perl.
Preparing to unpack .../078-libclass-inspector-perl_1.36-3_all.deb ...
Unpacking libclass-inspector-perl (1.36-3) ...
Selecting previously unselected package libclass-method-modifiers-perl.
Preparing to unpack .../079-libclass-method-modifiers-perl_2.15-1_all.deb ...
Unpacking libclass-method-modifiers-perl (2.15-1) ...
Selecting previously unselected package libclass-singleton-perl.
Preparing to unpack .../080-libclass-singleton-perl_1.6-2_all.deb ...
Unpacking libclass-singleton-perl (1.6-2) ...
Selecting previously unselected package libclass-tiny-perl.
Preparing to unpack .../081-libclass-tiny-perl_1.008-2_all.deb ...
Unpacking libclass-tiny-perl (1.008-2) ...
Selecting previously unselected package libclass-xsaccessor-perl.
Preparing to unpack .../082-libclass-xsaccessor-perl_1.19-4+b5_amd64.deb ...
Unpacking libclass-xsaccessor-perl (1.19-4+b5) ...
Selecting previously unselected package libclone-perl:amd64.
Preparing to unpack .../083-libclone-perl_0.47-1+b1_amd64.deb ...
Unpacking libclone-perl:amd64 (0.47-1+b1) ...
Selecting previously unselected package libcpan-meta-check-perl.
Preparing to unpack .../084-libcpan-meta-check-perl_0.018-1_all.deb ...
Unpacking libcpan-meta-check-perl (0.018-1) ...
Selecting previously unselected package libextutils-config-perl.
Preparing to unpack .../085-libextutils-config-perl_0.010-1_all.deb ...
Unpacking libextutils-config-perl (0.010-1) ...
Selecting previously unselected package libextutils-hascompiler-perl.
Preparing to unpack .../086-libextutils-hascompiler-perl_0.025-1_all.deb ...
Unpacking libextutils-hascompiler-perl (0.025-1) ...
Selecting previously unselected package libcpan-requirements-dynamic-perl.
Preparing to unpack .../087-libcpan-requirements-dynamic-perl_0.001-2_all.deb ...
Unpacking libcpan-requirements-dynamic-perl (0.001-2) ...
Selecting previously unselected package libcpanel-json-xs-perl:amd64.
Preparing to unpack .../088-libcpanel-json-xs-perl_4.39-1_amd64.deb ...
Unpacking libcpanel-json-xs-perl:amd64 (4.39-1) ...
Selecting previously unselected package libparams-util-perl.
Preparing to unpack .../089-libparams-util-perl_1.102-3+b1_amd64.deb ...
Unpacking libparams-util-perl (1.102-3+b1) ...
Selecting previously unselected package libsub-install-perl.
Preparing to unpack .../090-libsub-install-perl_0.929-1_all.deb ...
Unpacking libsub-install-perl (0.929-1) ...
Selecting previously unselected package libdata-optlist-perl.
Preparing to unpack .../091-libdata-optlist-perl_0.114-1_all.deb ...
Unpacking libdata-optlist-perl (0.114-1) ...
Selecting previously unselected package libnet-domain-tld-perl.
Preparing to unpack .../092-libnet-domain-tld-perl_1.75-4_all.deb ...
Unpacking libnet-domain-tld-perl (1.75-4) ...
Selecting previously unselected package libdata-validate-domain-perl.
Preparing to unpack .../093-libdata-validate-domain-perl_0.15-1_all.deb ...
Unpacking libdata-validate-domain-perl (0.15-1) ...
Selecting previously unselected package libfile-sharedir-perl.
Preparing to unpack .../094-libfile-sharedir-perl_1.118-3_all.deb ...
Unpacking libfile-sharedir-perl (1.118-3) ...
Selecting previously unselected package libnamespace-autoclean-perl.
Preparing to unpack .../095-libnamespace-autoclean-perl_0.31-1_all.deb ...
Unpacking libnamespace-autoclean-perl (0.31-1) ...
Selecting previously unselected package libsub-exporter-perl.
Preparing to unpack .../096-libsub-exporter-perl_0.990-1_all.deb ...
Unpacking libsub-exporter-perl (0.990-1) ...
Selecting previously unselected package libeval-closure-perl.
Preparing to unpack .../097-libeval-closure-perl_0.14-3_all.deb ...
Unpacking libeval-closure-perl (0.14-3) ...
Selecting previously unselected package libdevel-stacktrace-perl.
Preparing to unpack .../098-libdevel-stacktrace-perl_2.0500-1_all.deb ...
Unpacking libdevel-stacktrace-perl (2.0500-1) ...
Selecting previously unselected package libexception-class-perl.
Preparing to unpack .../099-libexception-class-perl_1.45-1_all.deb ...
Unpacking libexception-class-perl (1.45-1) ...
Selecting previously unselected package libparams-validationcompiler-perl.
Preparing to unpack .../100-libparams-validationcompiler-perl_0.31-1_all.deb ...
Unpacking libparams-validationcompiler-perl (0.31-1) ...
Selecting previously unselected package libmro-compat-perl.
Preparing to unpack .../101-libmro-compat-perl_0.15-2_all.deb ...
Unpacking libmro-compat-perl (0.15-2) ...
Selecting previously unselected package librole-tiny-perl.
Preparing to unpack .../102-librole-tiny-perl_2.002004-1_all.deb ...
Unpacking librole-tiny-perl (2.002004-1) ...
Selecting previously unselected package libsub-quote-perl.
Preparing to unpack .../103-libsub-quote-perl_2.006008-1_all.deb ...
Unpacking libsub-quote-perl (2.006008-1) ...
Selecting previously unselected package libxstring-perl:amd64.
Preparing to unpack .../104-libxstring-perl_0.005-2+b4_amd64.deb ...
Unpacking libxstring-perl:amd64 (0.005-2+b4) ...
Selecting previously unselected package libspecio-perl.
Preparing to unpack .../105-libspecio-perl_0.49-1_all.deb ...
Unpacking libspecio-perl (0.49-1) ...
Selecting previously unselected package libdatetime-locale-perl.
Preparing to unpack .../106-libdatetime-locale-perl_1%3a1.41-1_all.deb ...
Unpacking libdatetime-locale-perl (1:1.41-1) ...
Selecting previously unselected package libdatetime-timezone-perl.
Preparing to unpack .../107-libdatetime-timezone-perl_1%3a2.64-1+2025a_all.deb ...
Unpacking libdatetime-timezone-perl (1:2.64-1+2025a) ...
Selecting previously unselected package libdatetime-perl.
Preparing to unpack .../108-libdatetime-perl_2%3a1.65-1+b2_amd64.deb ...
Unpacking libdatetime-perl (2:1.65-1+b2) ...
Selecting previously unselected package libdatetime-format-rfc3339-perl.
Preparing to unpack .../109-libdatetime-format-rfc3339-perl_1.10.0-1_all.deb ...
Unpacking libdatetime-format-rfc3339-perl (1.10.0-1) ...
Selecting previously unselected package libdevel-cycle-perl.
Preparing to unpack .../110-libdevel-cycle-perl_1.12-2_all.deb ...
Unpacking libdevel-cycle-perl (1.12-2) ...
Selecting previously unselected package libemail-address-xs-perl.
Preparing to unpack .../111-libemail-address-xs-perl_1.05-1+b4_amd64.deb ...
Unpacking libemail-address-xs-perl (1.05-1+b4) ...
Selecting previously unselected package libexporter-tiny-perl.
Preparing to unpack .../112-libexporter-tiny-perl_1.006002-1_all.deb ...
Unpacking libexporter-tiny-perl (1.006002-1) ...
Selecting previously unselected package libextutils-helpers-perl.
Preparing to unpack .../113-libextutils-helpers-perl_0.028-1_all.deb ...
Unpacking libextutils-helpers-perl (0.028-1) ...
Selecting previously unselected package libextutils-installpaths-perl.
Preparing to unpack .../114-libextutils-installpaths-perl_0.014-1_all.deb ...
Unpacking libextutils-installpaths-perl (0.014-1) ...
Selecting previously unselected package libxs-parse-keyword-perl.
Preparing to unpack .../115-libxs-parse-keyword-perl_0.48-2_amd64.deb ...
Unpacking libxs-parse-keyword-perl (0.48-2) ...
Selecting previously unselected package libsyntax-keyword-try-perl.
Preparing to unpack .../116-libsyntax-keyword-try-perl_0.30-1+b1_amd64.deb ...
Unpacking libsyntax-keyword-try-perl (0.30-1+b1) ...
Selecting previously unselected package libfeature-compat-try-perl.
Preparing to unpack .../117-libfeature-compat-try-perl_0.05-1_all.deb ...
Unpacking libfeature-compat-try-perl (0.05-1) ...
Selecting previously unselected package libfile-chdir-perl.
Preparing to unpack .../118-libfile-chdir-perl_0.1008-1.2_all.deb ...
Unpacking libfile-chdir-perl (0.1008-1.2) ...
Selecting previously unselected package libfile-copy-recursive-perl.
Preparing to unpack .../119-libfile-copy-recursive-perl_0.45-4_all.deb ...
Unpacking libfile-copy-recursive-perl (0.45-4) ...
Selecting previously unselected package libio-stringy-perl.
Preparing to unpack .../120-libio-stringy-perl_2.113-2_all.deb ...
Unpacking libio-stringy-perl (2.113-2) ...
Selecting previously unselected package libparams-validate-perl:amd64.
Preparing to unpack .../121-libparams-validate-perl_1.31-2+b3_amd64.deb ...
Unpacking libparams-validate-perl:amd64 (1.31-2+b3) ...
Selecting previously unselected package libgetopt-long-descriptive-perl.
Preparing to unpack .../122-libgetopt-long-descriptive-perl_0.116-2_all.deb ...
Unpacking libgetopt-long-descriptive-perl (0.116-2) ...
Selecting previously unselected package libsort-versions-perl.
Preparing to unpack .../123-libsort-versions-perl_1.62-3_all.deb ...
Unpacking libsort-versions-perl (1.62-3) ...
Selecting previously unselected package libgit-wrapper-perl.
Preparing to unpack .../124-libgit-wrapper-perl_0.048-2_all.deb ...
Unpacking libgit-wrapper-perl (0.048-2) ...
Selecting previously unselected package libimport-into-perl.
Preparing to unpack .../125-libimport-into-perl_1.002005-2_all.deb ...
Unpacking libimport-into-perl (1.002005-2) ...
Selecting previously unselected package node-popper2.
Preparing to unpack .../126-node-popper2_2.11.2-8_all.deb ...
Unpacking node-popper2 (2.11.2-8) ...
Selecting previously unselected package libjs-bootstrap5.
Preparing to unpack .../127-libjs-bootstrap5_5.3.3+dfsg-4_all.deb ...
Unpacking libjs-bootstrap5 (5.3.3+dfsg-4) ...
Selecting previously unselected package libjs-highlight.js.
Preparing to unpack .../128-libjs-highlight.js_9.18.5+dfsg1-2_all.deb ...
Unpacking libjs-highlight.js (9.18.5+dfsg1-2) ...
Selecting previously unselected package libjs-popper.js.
Preparing to unpack .../129-libjs-popper.js_1.16.1+ds-6_all.deb ...
Unpacking libjs-popper.js (1.16.1+ds-6) ...
Selecting previously unselected package libjson-perl.
Preparing to unpack .../130-libjson-perl_4.10000-1_all.deb ...
Unpacking libjson-perl (4.10000-1) ...
Selecting previously unselected package libmodule-build-tiny-perl.
Preparing to unpack .../131-libmodule-build-tiny-perl_0.048-1_all.deb ...
Unpacking libmodule-build-tiny-perl (0.048-1) ...
Selecting previously unselected package libmojolicious-perl.
Preparing to unpack .../132-libmojolicious-perl_9.39+dfsg-1_all.deb ...
Unpacking libmojolicious-perl (9.39+dfsg-1) ...
Selecting previously unselected package libmoo-perl.
Preparing to unpack .../133-libmoo-perl_2.005005-1_all.deb ...
Unpacking libmoo-perl (2.005005-1) ...
Selecting previously unselected package libtype-tiny-perl.
Preparing to unpack .../134-libtype-tiny-perl_2.004000-1_all.deb ...
Unpacking libtype-tiny-perl (2.004000-1) ...
Selecting previously unselected package libmoox-typetiny-perl.
Preparing to unpack .../135-libmoox-typetiny-perl_0.002003-4_all.deb ...
Unpacking libmoox-typetiny-perl (0.002003-4) ...
Selecting previously unselected package libnet-idn-encode-perl.
Preparing to unpack .../136-libnet-idn-encode-perl_2.500-5+b1_amd64.deb ...
Unpacking libnet-idn-encode-perl (2.500-5+b1) ...
Selecting previously unselected package libpadwalker-perl.
Preparing to unpack .../137-libpadwalker-perl_2.5-1+b6_amd64.deb ...
Unpacking libpadwalker-perl (2.5-1+b6) ...
Selecting previously unselected package libpath-tiny-perl.
Preparing to unpack .../138-libpath-tiny-perl_0.146-1_all.deb ...
Unpacking libpath-tiny-perl (0.146-1) ...
Selecting previously unselected package libref-util-perl.
Preparing to unpack .../139-libref-util-perl_0.204-2_all.deb ...
Unpacking libref-util-perl (0.204-2) ...
Selecting previously unselected package libref-util-xs-perl.
Preparing to unpack .../140-libref-util-xs-perl_0.117-2+b4_amd64.deb ...
Unpacking libref-util-xs-perl (0.117-2+b4) ...
Selecting previously unselected package libsafe-isa-perl.
Preparing to unpack .../141-libsafe-isa-perl_1.000010-1_all.deb ...
Unpacking libsafe-isa-perl (1.000010-1) ...
Selecting previously unselected package libscope-guard-perl.
Preparing to unpack .../142-libscope-guard-perl_0.21-2_all.deb ...
Unpacking libscope-guard-perl (0.21-2) ...
Selecting previously unselected package libsereal-decoder-perl.
Preparing to unpack .../143-libsereal-decoder-perl_5.004+ds-1+b3_amd64.deb ...
Unpacking libsereal-decoder-perl (5.004+ds-1+b3) ...
Selecting previously unselected package libsereal-encoder-perl.
Preparing to unpack .../144-libsereal-encoder-perl_5.004+ds-1+b3_amd64.deb ...
Unpacking libsereal-encoder-perl (5.004+ds-1+b3) ...
Selecting previously unselected package libsereal-perl.
Preparing to unpack .../145-libsereal-perl_5.004-1_all.deb ...
Unpacking libsereal-perl (5.004-1) ...
Selecting previously unselected package libstrictures-perl.
Preparing to unpack .../146-libstrictures-perl_2.000006-1_all.deb ...
Unpacking libstrictures-perl (2.000006-1) ...
Selecting previously unselected package libtest-deep-perl.
Preparing to unpack .../147-libtest-deep-perl_1.204-1_all.deb ...
Unpacking libtest-deep-perl (1.204-1) ...
Selecting previously unselected package libtest-deep-unorderedpairs-perl.
Preparing to unpack .../148-libtest-deep-unorderedpairs-perl_0.006-3_all.deb ...
Unpacking libtest-deep-unorderedpairs-perl (0.006-3) ...
Selecting previously unselected package libtest-fatal-perl.
Preparing to unpack .../149-libtest-fatal-perl_0.017-1_all.deb ...
Unpacking libtest-fatal-perl (0.017-1) ...
Selecting previously unselected package libtest-file-sharedir-perl.
Preparing to unpack .../150-libtest-file-sharedir-perl_1.001002-2_all.deb ...
Unpacking libtest-file-sharedir-perl (1.001002-2) ...
Selecting previously unselected package libtest2-suite-perl.
Preparing to unpack .../151-libtest2-suite-perl_0.000163-1_all.deb ...
Unpacking libtest2-suite-perl (0.000163-1) ...
Selecting previously unselected package libtest-json-schema-acceptance-perl.
Preparing to unpack .../152-libtest-json-schema-acceptance-perl_1.027-1_all.deb ...
Unpacking libtest-json-schema-acceptance-perl (1.027-1) ...
Selecting previously unselected package libtest-memory-cycle-perl.
Preparing to unpack .../153-libtest-memory-cycle-perl_1.06-2_all.deb ...
Unpacking libtest-memory-cycle-perl (1.06-2) ...
Selecting previously unselected package libtest-needs-perl.
Preparing to unpack .../154-libtest-needs-perl_0.002010-1_all.deb ...
Unpacking libtest-needs-perl (0.002010-1) ...
Selecting previously unselected package libtest-warnings-perl.
Preparing to unpack .../155-libtest-warnings-perl_0.038-1_all.deb ...
Unpacking libtest-warnings-perl (0.038-1) ...
Selecting previously unselected package libtest-without-module-perl.
Preparing to unpack .../156-libtest-without-module-perl_0.23-1_all.deb ...
Unpacking libtest-without-module-perl (0.23-1) ...
Selecting previously unselected package libtime-moment-perl.
Preparing to unpack .../157-libtime-moment-perl_0.44-2+b4_amd64.deb ...
Unpacking libtime-moment-perl (0.44-2+b4) ...
Selecting previously unselected package libtype-tiny-xs-perl:amd64.
Preparing to unpack .../158-libtype-tiny-xs-perl_0.025-2+b1_amd64.deb ...
Unpacking libtype-tiny-xs-perl:amd64 (0.025-2+b1) ...
Setting up libexpat1:amd64 (2.6.4-1) ...
Setting up libpipeline1:amd64 (1.5.8-1) ...
Setting up javascript-common (12) ...
Setting up libdevel-cycle-perl (1.12-2) ...
Setting up libextutils-config-perl (0.010-1) ...
Setting up libkeyutils1:amd64 (1.6.3-4) ...
Setting up libsafe-isa-perl (1.000010-1) ...
Setting up libextutils-helpers-perl (0.028-1) ...
Setting up libicu72:amd64 (72.1-6) ...
Setting up bsdextrautils (2.40.4-5) ...
Setting up libclass-inspector-perl (1.36-3) ...
Setting up libtest-without-module-perl (0.23-1) ...
Setting up libdynaloader-functions-perl (0.004-1) ...
Setting up libtest-deep-perl (1.204-1) ...
Setting up libclass-method-modifiers-perl (2.15-1) ...
Setting up libref-util-xs-perl (0.117-2+b4) ...
Setting up libjs-popper.js (1.16.1+ds-6) ...
Setting up libnet-idn-encode-perl (2.500-5+b1) ...
Setting up libmagic-mgc (1:5.45-3+b1) ...
Setting up libclone-perl:amd64 (0.47-1+b1) ...
Setting up libarchive-zip-perl (1.68-1) ...
Setting up libsub-identify-perl (0.14-3+b3) ...
Setting up libcpanel-json-xs-perl:amd64 (4.39-1) ...
Setting up libextutils-installpaths-perl (0.014-1) ...
Setting up libio-stringy-perl (2.113-2) ...
Setting up libdebhelper-perl (13.24.1) ...
Setting up libbrotli1:amd64 (1.1.0-2+b7) ...
Setting up libmagic1t64:amd64 (1:5.45-3+b1) ...
Setting up libtry-tiny-perl (0.32-1) ...
Setting up libnghttp2-14:amd64 (1.64.0-1) ...
Setting up libtest-warnings-perl (0.038-1) ...
Setting up libtest-fatal-perl (0.017-1) ...
Setting up libextutils-hascompiler-perl (0.025-1) ...
Setting up gettext-base (0.23.1-1) ...
Setting up m4 (1.4.19-5) ...
Setting up libclass-singleton-perl (1.6-2) ...
Setting up libtime-moment-perl (0.44-2+b4) ...
Setting up libpadwalker-perl (2.5-1+b6) ...
Setting up libcpan-requirements-dynamic-perl (0.001-2) ...
Setting up libcom-err2:amd64 (1.47.2-1) ...
Setting up file (1:5.45-3+b1) ...
Setting up libxstring-perl:amd64 (0.005-2+b4) ...
Setting up libsereal-encoder-perl (5.004+ds-1+b3) ...
Setting up libsub-install-perl (0.929-1) ...
Setting up libelf1t64:amd64 (0.192-4) ...
Setting up libtest2-suite-perl (0.000163-1) ...
Setting up libkrb5support0:amd64 (1.21.3-4) ...
Setting up libtest-needs-perl (0.002010-1) ...
Setting up libscope-guard-perl (0.21-2) ...
Setting up libsasl2-modules-db:amd64 (2.1.28+dfsg1-9) ...
Setting up libfile-copy-recursive-perl (0.45-4) ...
Setting up tzdata (2025a-2) ...

Current default time zone: 'Etc/UTC'
Local time is now:      Fri Apr  3 18:38:20 UTC 2026.
Universal Time is now:  Fri Apr  3 18:38:20 UTC 2026.
Run 'dpkg-reconfigure tzdata' if you wish to change it.

Setting up liberror-perl (0.17030-1) ...
Setting up libautovivification-perl:amd64 (0.18-2+b4) ...
Setting up libtest-memory-cycle-perl (1.06-2) ...
Setting up autotools-dev (20220109.1) ...
Setting up libclass-data-inheritable-perl (0.10-1) ...
Setting up libalgorithm-c3-perl (0.11-2) ...
Setting up libclass-tiny-perl (1.008-2) ...
Setting up libtest-deep-unorderedpairs-perl (0.006-3) ...
Setting up libref-util-perl (0.204-2) ...
Setting up libnet-domain-tld-perl (1.75-4) ...
Setting up libunistring5:amd64 (1.3-1) ...
Setting up libvariable-magic-perl (0.64-1+b1) ...
Setting up autopoint (0.23.1-1) ...
Setting up libb-hooks-op-check-perl:amd64 (0.22-3+b2) ...
Setting up libk5crypto3:amd64 (1.21.3-4) ...
Setting up libparams-util-perl (1.102-3+b1) ...
Setting up libsasl2-2:amd64 (2.1.28+dfsg1-9) ...
Setting up autoconf (2.72-3) ...
Setting up libnghttp3-9:amd64 (1.6.0-2) ...
Setting up libsub-exporter-progressive-perl (0.001013-3) ...
Setting up libsub-name-perl:amd64 (0.28-1) ...
Setting up libtype-tiny-xs-perl:amd64 (0.025-2+b1) ...
Setting up libffi8:amd64 (3.4.7-1) ...
Setting up dwz (0.15-1+b1) ...
Setting up libdata-validate-domain-perl (0.15-1) ...
Setting up libcpan-meta-check-perl (0.018-1) ...
Setting up libjs-highlight.js (9.18.5+dfsg1-2) ...
Setting up libfile-chdir-perl (0.1008-1.2) ...
Setting up node-popper2 (2.11.2-8) ...
Setting up sensible-utils (0.0.24) ...
Setting up libpath-tiny-perl (0.146-1) ...
Setting up libuchardet0:amd64 (0.0.8-1+b2) ...
Setting up libjson-perl (4.10000-1) ...
Setting up librole-tiny-perl (2.002004-1) ...
Setting up libtasn1-6:amd64 (4.20.0-2) ...
Setting up libfile-sharedir-perl (1.118-3) ...
Setting up git-man (1:2.47.2-0.1) ...
Setting up libngtcp2-16:amd64 (1.9.1-1) ...
Setting up libstrictures-perl (2.000006-1) ...
Setting up libsub-quote-perl (2.006008-1) ...
Setting up libdevel-stacktrace-perl (2.0500-1) ...
Setting up libclass-xsaccessor-perl (1.19-4+b5) ...
Setting up libkrb5-3:amd64 (1.21.3-4) ...
Setting up libsort-versions-perl (1.62-3) ...
Setting up libssh2-1t64:amd64 (1.11.1-1) ...
Setting up libexporter-tiny-perl (1.006002-1) ...
Setting up libjs-bootstrap5 (5.3.3+dfsg-4) ...
Setting up libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b2) ...
Setting up libsereal-decoder-perl (5.004+ds-1+b3) ...
Setting up libldap2:amd64 (2.6.9+dfsg-1) ...
Setting up libemail-address-xs-perl (1.05-1+b4) ...
Setting up automake (1:1.17-3) ...
update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode
Setting up libmodule-build-tiny-perl (0.048-1) ...
Setting up libfile-stripnondeterminism-perl (1.14.1-2) ...
Setting up gettext (0.23.1-1) ...
Setting up libtool (2.5.4-3) ...
Setting up libmojolicious-perl (9.39+dfsg-1) ...
Setting up libtype-tiny-perl (2.004000-1) ...
Setting up libsereal-perl (5.004-1) ...
Setting up libidn2-0:amd64 (2.3.7-2+b1) ...
Setting up libexception-class-perl (1.45-1) ...
Setting up libclass-c3-perl (0.35-2) ...
Setting up libdevel-callchecker-perl:amd64 (0.009-1+b1) ...
Setting up intltool-debian (0.35.0+20060710.6) ...
Setting up dh-autoreconf (20) ...
Setting up libxs-parse-keyword-perl (0.48-2) ...
Setting up libtest-file-sharedir-perl (1.001002-2) ...
Setting up libp11-kit0:amd64 (0.25.5-3) ...
Setting up libgssapi-krb5-2:amd64 (1.21.3-4) ...
Setting up libdata-optlist-perl (0.114-1) ...
Setting up dh-strip-nondeterminism (1.14.1-2) ...
Setting up libsyntax-keyword-try-perl (0.30-1+b1) ...
Setting up groff-base (1.23.0-7) ...
Setting up libmro-compat-perl (0.15-2) ...
Setting up libsub-exporter-perl (0.990-1) ...
Setting up libeval-closure-perl (0.14-3) ...
Setting up libgnutls30t64:amd64 (3.8.9-2) ...
Setting up libparams-validationcompiler-perl (0.31-1) ...
Setting up libfeature-compat-try-perl (0.05-1) ...
Setting up po-debconf (1.0.21+nmu1) ...
Setting up libparams-classify-perl:amd64 (0.015-2+b4) ...
Setting up libpsl5t64:amd64 (0.21.2-1.1+b1) ...
Setting up man-db (2.13.0-1) ...
Not building database; man-db/auto-update is not 'true'.
Setting up libmodule-runtime-perl (0.016-2) ...
Setting up librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2+b5) ...
Setting up libngtcp2-crypto-gnutls8:amd64 (1.9.1-1) ...
Setting up libmodule-implementation-perl (0.09-2) ...
Setting up libpackage-stash-perl (0.40-1) ...
Setting up libimport-into-perl (1.002005-2) ...
Setting up libmoo-perl (2.005005-1) ...
Setting up libcurl3t64-gnutls:amd64 (8.12.1-3) ...
Setting up debhelper (13.24.1) ...
Setting up libspecio-perl (0.49-1) ...
Setting up git (1:2.47.2-0.1) ...
Setting up libgit-wrapper-perl (0.048-2) ...
Setting up libmoox-typetiny-perl (0.002003-4) ...
Setting up libparams-validate-perl:amd64 (1.31-2+b3) ...
Setting up libb-hooks-endofscope-perl (0.28-1) ...
Setting up libnamespace-clean-perl (0.27-2) ...
Setting up libbuiltin-compat-perl (0.003003-2) ...
Setting up libgetopt-long-descriptive-perl (0.116-2) ...
Setting up libtest-json-schema-acceptance-perl (1.027-1) ...
Setting up libnamespace-autoclean-perl (0.31-1) ...
Setting up libdatetime-locale-perl (1:1.41-1) ...
Setting up libdatetime-timezone-perl (1:2.64-1+2025a) ...
Setting up libdatetime-perl (2:1.65-1+b2) ...
Setting up libdatetime-format-rfc3339-perl (1.10.0-1) ...
Processing triggers for libc-bin (2.41-2) ...
Reading package lists...
Building dependency tree...
Reading state information...
Reading extended state information...
Initializing package states...
Writing extended state information...
Building tag database...
 -> Finished parsing the build-deps
I: Building the package
I: user script /srv/workspace/pbuilder/3323367/tmp/hooks/A99_set_merged_usr starting
Not re-configuring usrmerge for unstable
I: user script /srv/workspace/pbuilder/3323367/tmp/hooks/A99_set_merged_usr finished
hostname: Name or service not known
I: Running cd /build/reproducible-path/libjson-schema-modern-perl-0.603/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S  > ../libjson-schema-modern-perl_0.603-1_source.changes
dpkg-buildpackage: info: source package libjson-schema-modern-perl
dpkg-buildpackage: info: source version 0.603-1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by gregor herrmann <gregoa@debian.org>
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture amd64
 debian/rules clean
dh clean
   dh_clean
 debian/rules binary
dh binary
   dh_update_autotools_config
   dh_autoreconf
   dh_auto_configure
	/usr/bin/perl Build.PL --installdirs vendor --config "optimize=-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libjson-schema-modern-perl-0.603=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2" --config "ld=x86_64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libjson-schema-modern-perl-0.603=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wl,-z,relro"
Creating new 'Build' script for 'JSON-Schema-Modern' version '0.603'
   dh_auto_build
	/usr/bin/perl Build
cp share/draft2019-09/output/schema.json blib/lib/auto/share/dist/JSON-Schema-Modern/draft2019-09/output/schema.json
cp lib/JSON/Schema/Modern/Document.pm blib/lib/JSON/Schema/Modern/Document.pm
cp share/draft7/schema.json blib/lib/auto/share/dist/JSON-Schema-Modern/draft7/schema.json
cp share/draft2020-12/meta/format-annotation.json blib/lib/auto/share/dist/JSON-Schema-Modern/draft2020-12/meta/format-annotation.json
cp lib/JSON/Schema/Modern/Vocabulary/Content.pm blib/lib/JSON/Schema/Modern/Vocabulary/Content.pm
cp lib/JSON/Schema/Modern/Vocabulary/Validation.pm blib/lib/JSON/Schema/Modern/Vocabulary/Validation.pm
cp share/draft2019-09/meta/core.json blib/lib/auto/share/dist/JSON-Schema-Modern/draft2019-09/meta/core.json
cp share/draft2020-12/meta/meta-data.json blib/lib/auto/share/dist/JSON-Schema-Modern/draft2020-12/meta/meta-data.json
cp lib/JSON/Schema/Modern/Annotation.pm blib/lib/JSON/Schema/Modern/Annotation.pm
cp share/draft2020-12/meta/validation.json blib/lib/auto/share/dist/JSON-Schema-Modern/draft2020-12/meta/validation.json
cp lib/JSON/Schema/Modern/Vocabulary.pm blib/lib/JSON/Schema/Modern/Vocabulary.pm
cp share/draft2020-12/meta/unevaluated.json blib/lib/auto/share/dist/JSON-Schema-Modern/draft2020-12/meta/unevaluated.json
cp share/draft2019-09/meta/validation.json blib/lib/auto/share/dist/JSON-Schema-Modern/draft2019-09/meta/validation.json
cp lib/JSON/Schema/Modern.pm blib/lib/JSON/Schema/Modern.pm
cp share/draft2019-09/meta/format.json blib/lib/auto/share/dist/JSON-Schema-Modern/draft2019-09/meta/format.json
cp lib/JSON/Schema/Modern/Vocabulary/FormatAssertion.pm blib/lib/JSON/Schema/Modern/Vocabulary/FormatAssertion.pm
cp share/draft2020-12/meta/core.json blib/lib/auto/share/dist/JSON-Schema-Modern/draft2020-12/meta/core.json
cp share/draft2020-12/output/schema.json blib/lib/auto/share/dist/JSON-Schema-Modern/draft2020-12/output/schema.json
cp share/draft4/schema.json blib/lib/auto/share/dist/JSON-Schema-Modern/draft4/schema.json
cp share/draft2020-12/schema.json blib/lib/auto/share/dist/JSON-Schema-Modern/draft2020-12/schema.json
cp lib/JSON/Schema/Modern/Vocabulary/FormatAnnotation.pm blib/lib/JSON/Schema/Modern/Vocabulary/FormatAnnotation.pm
cp share/draft2019-09/meta/content.json blib/lib/auto/share/dist/JSON-Schema-Modern/draft2019-09/meta/content.json
cp share/draft2019-09/meta/meta-data.json blib/lib/auto/share/dist/JSON-Schema-Modern/draft2019-09/meta/meta-data.json
cp script/json-schema-eval blib/script/json-schema-eval
cp share/draft2020-12/meta/format-assertion.json blib/lib/auto/share/dist/JSON-Schema-Modern/draft2020-12/meta/format-assertion.json
cp lib/JSON/Schema/Modern/Error.pm blib/lib/JSON/Schema/Modern/Error.pm
cp share/draft2020-12/meta/applicator.json blib/lib/auto/share/dist/JSON-Schema-Modern/draft2020-12/meta/applicator.json
cp share/LICENSE blib/lib/auto/share/dist/JSON-Schema-Modern/LICENSE
cp lib/JSON/Schema/Modern/ResultNode.pm blib/lib/JSON/Schema/Modern/ResultNode.pm
cp lib/JSON/Schema/Modern/Utilities.pm blib/lib/JSON/Schema/Modern/Utilities.pm
cp share/draft2019-09/meta/applicator.json blib/lib/auto/share/dist/JSON-Schema-Modern/draft2019-09/meta/applicator.json
cp lib/JSON/Schema/Modern/Vocabulary/Unevaluated.pm blib/lib/JSON/Schema/Modern/Vocabulary/Unevaluated.pm
cp lib/JSON/Schema/Modern/Vocabulary/MetaData.pm blib/lib/JSON/Schema/Modern/Vocabulary/MetaData.pm
cp share/draft6/schema.json blib/lib/auto/share/dist/JSON-Schema-Modern/draft6/schema.json
cp share/draft2020-12/meta/content.json blib/lib/auto/share/dist/JSON-Schema-Modern/draft2020-12/meta/content.json
cp share/draft2019-09/schema.json blib/lib/auto/share/dist/JSON-Schema-Modern/draft2019-09/schema.json
cp lib/JSON/Schema/Modern/Result.pm blib/lib/JSON/Schema/Modern/Result.pm
cp lib/JSON/Schema/Modern/Vocabulary/Applicator.pm blib/lib/JSON/Schema/Modern/Vocabulary/Applicator.pm
cp lib/JSON/Schema/Modern/Vocabulary/Core.pm blib/lib/JSON/Schema/Modern/Vocabulary/Core.pm
   debian/rules override_dh_auto_test
make[1]: Entering directory '/build/reproducible-path/libjson-schema-modern-perl-0.603'
AUTOMATED_TESTING=1 dh_auto_test
	/usr/bin/perl Build test --verbose 1
# 
# Versions for all modules listed in MYMETA.json (including optional ones):
# 
# === Configure Requires ===
# 
#     Module               Want     Have
#     ------------------- ----- --------
#     Module::Build::Tiny 0.034    0.048
#     perl                5.020 5.040001
# 
# === Test Requires ===
# 
#     Module                             Want     Have
#     ------------------------------ -------- --------
#     CPAN::Meta::Check                 0.011    0.018
#     CPAN::Meta::Requirements            any    2.143
#     Data::Dumper                        any    2.189
#     File::Spec                          any     3.91
#     Math::BigInt                   1.999701 2.003002
#     Module::Metadata                    any 1.000038
#     Term::ANSIColor                     any     5.01
#     Test2::API                          any 1.302199
#     Test::Deep                          any    1.204
#     Test::Deep::UnorderedPairs          any    0.006
#     Test::Fatal                         any    0.017
#     Test::File::ShareDir                any 1.001002
#     Test::JSON::Schema::Acceptance    1.021    1.027
#     Test::Memory::Cycle                 any     1.06
#     Test::More                         0.96 1.302199
#     Test::Needs                         any 0.002010
#     Test::Warnings                      any    0.038
#     Test::Without::Module              0.21     0.23
#     lib                                 any     0.65
#     perl                            v5.20.0 5.040001
#     utf8                                any     1.25
# 
# === Test Recommends ===
# 
#     Module         Want     Have
#     ---------- -------- --------
#     CPAN::Meta 2.120900 2.150010
# 
# === Runtime Requires ===
# 
#     Module                        Want     Have
#     ------------------------- -------- --------
#     B                              any     1.89
#     Carp                           any     1.54
#     Cpanel::JSON::XS              4.38     4.39
#     Digest::MD5                    any  2.58_01
#     Exporter                       any     5.78
#     Feature::Compat::Try           any     0.05
#     File::ShareDir                 any    1.118
#     Getopt::Long::Descriptive      any    0.116
#     JSON::PP                      4.11     4.16
#     List::Util                    1.55     1.63
#     MIME::Base64                   any  3.16_01
#     Math::BigFloat                 any 2.003002
#     Math::BigInt              1.999701 2.003002
#     Mojo::JSON                     any    undef
#     Mojo::JSON::Pointer            any    undef
#     Mojo::Message::Response        any    undef
#     Mojo::URL                      any    undef
#     Mojolicious                   7.87     9.39
#     Moo                            any 2.005005
#     Moo::Role                      any 2.005005
#     MooX::TypeTiny            0.002002 0.002003
#     Path::Tiny                     any    0.146
#     Ref::Util                    0.100    0.204
#     Safe::Isa                 1.000008 1.000010
#     Scalar::Util                   any     1.63
#     Storable                       any     3.32
#     Sub::Install                   any    0.929
#     Types::Common::Numeric         any 2.004000
#     Types::Standard           1.016003 2.004000
#     autovivification               any     0.18
#     builtin::compat           0.003003 0.003003
#     constant                       any     1.33
#     experimental                 0.026    0.032
#     if                             any   0.0610
#     namespace::clean               any     0.27
#     open                           any     1.13
#     overload                       any     1.37
#     perl                       v5.20.0 5.040001
#     stable                       0.031    0.033
#     strict                         any     1.13
#     strictures                       2 2.000006
#     warnings                       any     1.70
# 
# === Runtime Suggests ===
# 
#     Module                    Want    Have
#     ------------------------- ---- -------
#     Class::XSAccessor          any    1.19
#     Data::Validate::Domain     any    0.15
#     DateTime::Format::RFC3339  any v1.10.0
#     Email::Address::XS        1.04    1.05
#     Net::IDN::Encode           any   2.500
#     Ref::Util::XS              any   0.117
#     Sereal                     any   5.004
#     Time::Moment               any    0.44
#     Type::Tiny::XS             any   0.025
# 
# === Other Modules ===
# 
#     Module                Have
#     ----------------- --------
#     Cpanel::JSON::XS      4.39
#     Encode                3.21
#     File::Temp          0.2311
#     JSON::PP              4.16
#     JSON::XS           missing
#     Math::BigFloat    2.003002
#     Math::BigInt      2.003002
#     Module::Runtime      0.016
#     Mojolicious           9.39
#     Pod::Coverage      missing
#     Sereal::Decoder      5.004
#     Sereal::Encoder      5.004
#     Sub::Name             0.28
#     YAML               missing
#     autodie               2.37
#     builtin              0.014
#     builtin::Backport  missing
# 
t/00-report-prereqs.t ................... 
1..1
ok 1 - Reported prereqs
ok
t/add-schema.t .......................... 
# Subtest: evaluate a document
    ok 1 - evaluate a Document object
    ok 2 - resource index from the document is copied to the main object
    ok 3 - evaluate a Document object again without error
    1..3
ok 1 - evaluate a document
# Subtest: evaluate a uri
    ok 1 - evaluate with a uri that is not yet loaded
    ok 2 - the metaschema is now loaded and its resources are indexed
    ok 3 - evaluate against the metaschema again
    ok 4 - evaluate against the a subschema of the metaschema
    ok 5 - evaluate against the a fragment of the metaschema that does not exist
    ok 6 - evaluate against the a plain-name fragment of the metaschema that does not exist
    1..6
ok 2 - evaluate a uri
# Subtest: add a uri resource
    ok 1 - ->get in scalar context on a URI to the head of a document
    ok 2 - get() did not return a reference to the original data
    ok 3 - ->get in list context on a URI to the head of a document
    ok 4 - ->get in scalar context on a URI to inside of a document
    ok 5 - ->get in list context on a URI to inside of a document
    1..5
ok 3 - add a uri resource
# Subtest: add a schema associated with a uri
    ok 1 - cannot use a uri with a fragment
    ok 2 - added the schema data with an associated uri; the document does not see the overridden uri
    ok 3 - can now evaluate using a uri to a subschema of a resource we loaded earlier
    ok 4 - can also evaluate using a non-canonical uri
    ok 5 - can add the same document and associate it with another schema
    ok 6 - can add the same document twice, using deprecated interface
    ok 7 - warned when using deprecated form of add_schema
    ok 8 - can add the same document again with the proper interface
    ok 9 - now the document is available as all three uris, with the same canonical_uri
    1..9
ok 4 - add a schema associated with a uri
# Subtest: multiple anonymous schemas
    ok 1 - evaluate an anonymous schema
    ok 2 - one resource is indexed
    ok 3 - evaluate another anonymous schema
    ok 4 - still only one resource is indexed
    1..4
ok 5 - multiple anonymous schemas
# Subtest: add a document without associating it with a uri
    ok 1 - added the document without an associated uri
    ok 2 - document only added under its canonical uri
    1..2
ok 6 - add a document without associating it with a uri
# Subtest: add a schema without a uri
    ok 1 - added the schema data without an associated uri
    ok 2 - document only added under its canonical uri
    1..2
ok 7 - add a schema without a uri
# Subtest: $ref to non-canonical uri
    ok 1 - errors use the canonical uri, not the uri used to evaluate against
    ok 2 - non-canonical uri is not used to resolve inner $id keywords
    ok 3 - the canonical uri is updated when use the canonical uri, not the uri used to evaluate against
    ok 4 - canonical_uri is not always what was in the $ref, even when no local $id is present
    ok 5 - canonical_uri fragment also needs to be adjusted
    ok 6 - canonical_uri starts out containing a fragment and can be appended to during traversal
    1..6
ok 8 - $ref to non-canonical uri
# Subtest: register a document against multiple uris, with absolute root uri
    ok 1 - identifiers stored for the document
    ok 2 - resource index from the document is copied to the main object
    ok 3 - add a secondary uri for the same document
    ok 4 - secondary uri not also added to the document
    ok 5 - cannot call add_schema with the same URI as for another schema
    ok 6 - cannot reuse the same $id in another document
    ok 7 - resource index remains unchanged after erroneous add_schema calls
    ok 8 - adding the same schema content again is permitted
    ok 9 - ->get in scalar context for a nonexistent resource returns undef
    ok 10 - ->get in list context for a nonexistent resource returns empty list
    1..10
ok 9 - register a document against multiple uris, with absolute root uri
# Subtest: register a document against multiple uris, with relative root uri
    ok 1 - identifiers stored for the document
    ok 2 - resource index from the document is copied to the main object
    ok 3 - add a secondary (absolute) uri for the same document
    ok 4 - secondary uri not also added to the document
    ok 5 - cannot call add_schema with the same URI as for another schema
    ok 6 - cannot reuse the same $id in another document
    ok 7 - resource index remains unchanged after erroneous add_schema calls
    ok 8 - adding the same schema content again is permitted
    1..8
ok 10 - register a document against multiple uris, with relative root uri
# Subtest: register a document against multiple uris, with no root uri
    ok 1 - identifiers stored for the document
    ok 2 - resource index from the document is copied to the main object
    ok 3 - add a secondary (absolute) uri for the same document
    ok 4 - secondary uri not also added to the document
    ok 5 - cannot call add_schema with the same URI as for another schema
    ok 6 - cannot reuse the same $id in another document
    ok 7 - resource index remains unchanged after erroneous add_schema calls
    ok 8 - adding the same schema content again is permitted
    1..8
ok 11 - register a document against multiple uris, with no root uri
# Subtest: external resource with externally-supplied uri; main resource with multiple uris
    ok 1 - all uris in result are correct, using secondary uri as the target
    ok 2 - all uris in result are correct, using main uri as the target
    1..2
ok 12 - external resource with externally-supplied uri; main resource with multiple uris
# Subtest: document with no canonical URI, but assigned a URI through add_schema
    ok 1 - evaluate a schema referencing a document given an ad-hoc uri
    ok 2 - adding a uri to an existing document does not change its canonical uri
    1..2
ok 13 - document with no canonical URI, but assigned a URI through add_schema
1..13
ok
# AUTHOR_TESTING: <undef>
# AUTOMATED_TESTING: 1
# EXTENDED_TESTING: <undef>
# NO_TODO: <undef>
# TEST_DIR: <undef>
# NO_SHORT_CIRCUIT: <undef>
# 
# 
# generated with:              Test::JSON::Schema::Acceptance 1.027
# specification version:       draft2019-09
# using custom test directory: t/additional-tests-draft2019-09
# optional tests included:     yes
# 
# filename                                  pass  todo-fail  fail
# ---------------------------------------------------------------
# anchor.json                                  2          0     0
# annotation-collection.json                  10          0     0
# badRef.json                                  3          0     0
# faux-buggy-schemas.json                      2          0     0
# format-duration.json                         9          0     0
# format-ipv4.json                             4          0     0
# format-ipv6.json                            17          0     0
# format-relative-json-pointer.json            7          0     0
# formats.json                                 4          0     0
# id.json                                      6          0     0
# integers.json                               29          0     0
# keyword-independence.json                  812          0     0
# loose-types-const-enum.json                  8          0     0
# recursive-dynamic.json                       4          0     0
# ref-and-id.json                              6          0     0
# ref.json                                    10          0     0
# short-circuit.json                          20          0     0
# unknownKeyword.json                          4          0     0
# vocabulary.json                              5          0     0
# optional/format-date-time.json               4          0     0
# optional/format-date.json                    1          0     0
# optional/format-time.json                   13          0     0
# ---------------------------------------------------------------
# TOTAL                                      980          0     0
# 
# Congratulations, all non-optional tests are passing!
# 
t/additional-tests-draft2019-09.t ....... 
# running tests in /build/reproducible-path/libjson-schema-modern-perl-0.603/t/additional-tests-draft2019-09 against draft2019-09...
# 
ok 1 - anchor.json: "non-schema object containing an $anchor property" - "skip traversing definition for a valid result" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 2 - anchor.json: "non-schema object containing an $anchor property" - "const at const_not_anchor does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/const_not_anchor/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/const_not_anchor/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 3 - annotation-collection.json: "annotations come from an allOf, unevaluated is a sibling" - "properties evaluated from allOf" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 4 - annotation-collection.json: "annotations come from an allOf, unevaluated is a sibling" - "extra property" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 5 - annotation-collection.json: "annotations from adjacent keywords, unevaluated is a sibling" - "properties evaluated from additionalProperties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 6 - annotation-collection.json: "annotations from adjacent keywords, unevaluated is a sibling" - "extra property" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 7 - annotation-collection.json: "annotations come from an allOf, unevaluated is in an allOf" - "properties evaluated from allOf, but unevaluated is buried" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 8 - annotation-collection.json: "annotations come from an allOf, unevaluated is in an allOf" - "no properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 9 - annotation-collection.json: "annotations from adjacent keywords, unevaluated is in an allOf" - "properties evaluated from additionalProperties, but unevaluated is buried" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 10 - annotation-collection.json: "annotations from adjacent keywords, unevaluated is in an allOf" - "no properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 11 - annotation-collection.json: "collect annotations inside a 'not', even if collection is disabled" - "unevaluated property" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 12 - annotation-collection.json: "collect annotations inside a 'not', even if collection is disabled" - "annotations are still collected inside a 'not'" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 13 - badRef.json: "good references in schemas" - "this data is never used" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 14 - badRef.json: "bad $ref in schema: not a valid anchor fragment" - "this data is never used" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 15 - badRef.json: "bad $ref in schema: not a valid json pointer fragment" - "this data is never used" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 16 - faux-buggy-schemas.json: "identifiers in non-schemas that look like schemas" - "match the type checks" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 17 - faux-buggy-schemas.json: "identifiers in non-schemas that look like schemas" - "match none of the options" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/0/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/1/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/2/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/2/const"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/enum.json#/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/3/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/0/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/1/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/2/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/2/const"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/enum.json#/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/3/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 18 - format-duration.json: "validation of duration strings" - "years and months can appear without days" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 19 - format-duration.json: "validation of duration strings" - "months and days can appear without years" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 20 - format-duration.json: "validation of duration strings" - "hours and minutes can appear without seconds" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 21 - format-duration.json: "validation of duration strings" - "minutes and seconds can appear without hour" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 22 - format-duration.json: "validation of duration strings" - "elements may be omitted if their value is zero" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 23 - format-duration.json: "validation of duration strings" - "half a year duration, with full stop decimal point" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 24 - format-duration.json: "validation of duration strings" - "half a year duration, with comma decimal point" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 25 - format-duration.json: "validation of duration strings" - "only one unit can have a non-integer quantity" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 26 - format-duration.json: "validation of duration strings" - "only the smallest unit can have a non-integer quantity" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 27 - format-ipv4.json: "validation of ipv4 strings" - "leading zeroes should be rejected, as they are treated as octal values" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 28 - format-ipv4.json: "validation of ipv4 strings" - "leading zeroes should be rejected, even if not a valid octal value" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 29 - format-ipv4.json: "validation of ipv4 strings" - "value without leading zero is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 30 - format-ipv4.json: "validation of ipv4 strings" - "non-ascii digits should be rejected" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 31 - format-ipv6.json: "validation of ipv6 strings" - "fully expanded with zeroes" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 32 - format-ipv6.json: "validation of ipv6 strings" - "partially collapsed zeroes" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 33 - format-ipv6.json: "validation of ipv6 strings" - "4,2 zeroes" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 34 - format-ipv6.json: "validation of ipv6 strings" - "8 single zeroes, no double colon" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 35 - format-ipv6.json: "validation of ipv6 strings" - "7 single zeroes, leading double colon" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 36 - format-ipv6.json: "validation of ipv6 strings" - "6 single zeroes, leading double colon" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 37 - format-ipv6.json: "validation of ipv6 strings" - "5 single zeroes, leading double colon" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 38 - format-ipv6.json: "validation of ipv6 strings" - "4 single zeroes, leading double colon" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 39 - format-ipv6.json: "validation of ipv6 strings" - "3 single zeroes, leading double colon" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 40 - format-ipv6.json: "validation of ipv6 strings" - "2 single zeroes, leading double colon" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 41 - format-ipv6.json: "validation of ipv6 strings" - "1 single zero, leading double colon" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 42 - format-ipv6.json: "validation of ipv6 strings" - "1 single zero, trailing double colon" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 43 - format-ipv6.json: "validation of ipv6 strings" - "2 leading colons with 8 zeroes" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 44 - format-ipv6.json: "validation of ipv6 strings" - "1 leading colon with 8 zeroes" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 45 - format-ipv6.json: "validation of ipv6 strings" - "colons in the middle with 8 zeroes" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 46 - format-ipv6.json: "validation of ipv6 strings" - "1 trailing colon with 8 zeroes" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 47 - format-ipv6.json: "validation of ipv6 strings" - "2 trailing colons with 8 zeroes" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 48 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer with empty json-pointer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 49 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer with one-char json-pointer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 50 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer with longer json-pointer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 51 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer \#" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 52 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "\#\# is not a valid json-pointer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 53 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "zero cannot be followed by other digits, plus json-pointer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 54 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "zero cannot be followed by other digits, plus octothorpe" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 55 - formats.json: "format validation after a $ref" - "invalid duration" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/my_format/format",
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/my_format/format",
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 56 - formats.json: "format validation after a $ref" - "valid duration" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 57 - formats.json: "format validation after an $id" - "invalid duration" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "bloop#/allOf/0/format",
    #       "error": "not a valid duration",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/allOf/0/format"
    #     },
    #     {
    #       "absoluteKeywordLocation": "bloop#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/allOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "bloop#/allOf/0/format",
    #       "error": "not a valid duration",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/allOf/0/format"
    #     },
    #     {
    #       "absoluteKeywordLocation": "bloop#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/allOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 58 - formats.json: "format validation after an $id" - "valid duration" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 59 - id.json: "non-schema object containing an $id property" - "skip traversing definition for a valid result" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 60 - id.json: "non-schema object containing an $id property" - "const at const_not_id does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/const_not_id/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/const_not_id/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 61 - id.json: "'' not permitted as $id" - "schema would pass without $id" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$id cannot be empty",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$id"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$id cannot be empty",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$id"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 62 - id.json: "'' not permitted as $id" - "schema would fail even without $id" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$id cannot be empty",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$id"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$id cannot be empty",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$id"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 63 - id.json: "'\#' not permitted as $id" - "schema would pass without $id" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$id cannot be empty",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$id"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$id cannot be empty",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$id"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 64 - id.json: "'\#' not permitted as $id" - "schema would fail even without $id" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$id cannot be empty",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$id"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$id cannot be empty",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$id"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 65 - integers.json: "type checks" - "beyond int64 lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 66 - integers.json: "type checks" - "int64 lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 67 - integers.json: "type checks" - "beyond int32 lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 68 - integers.json: "type checks" - "int32 lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 69 - integers.json: "type checks" - "zero" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 70 - integers.json: "type checks" - "int32 upper boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 71 - integers.json: "type checks" - "beyond int32 upper boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 72 - integers.json: "type checks" - "upper int64 boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 73 - integers.json: "type checks" - "beyond int64 upper boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 74 - integers.json: "int32 range checks" - "beyond lower boundary" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -2147483648",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -2147483648",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 75 - integers.json: "int32 range checks" - "lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 76 - integers.json: "int32 range checks" - "zero" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 77 - integers.json: "int32 range checks" - "upper boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 78 - integers.json: "int32 range checks" - "beyond upper boundary" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2147483647",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2147483647",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 79 - integers.json: "int64 range checks" - "beyond lower boundary" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -9223372036854775808",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -9223372036854775808",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 80 - integers.json: "int64 range checks" - "lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 81 - integers.json: "int64 range checks" - "zero" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 82 - integers.json: "int64 range checks" - "upper boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 83 - integers.json: "int64 range checks" - "beyond upper boundary" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 9223372036854775807",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 9223372036854775807",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 84 - integers.json: "equality checks" - "beyond int64 lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 85 - integers.json: "equality checks" - "int64 lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 86 - integers.json: "equality checks" - "beyond int32 lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 87 - integers.json: "equality checks" - "int32 lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 88 - integers.json: "equality checks" - "zero" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 89 - integers.json: "equality checks" - "one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 90 - integers.json: "equality checks" - "int32 upper boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 91 - integers.json: "equality checks" - "beyond int32 upper boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 92 - integers.json: "equality checks" - "int64 upper boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 93 - integers.json: "equality checks" - "beyond int64 upper boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 94 - keyword-independence.json: "contains + exclusiveMaximum" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 95 - keyword-independence.json: "contains + exclusiveMaximum" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 96 - keyword-independence.json: "contains + exclusiveMaximum" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 97 - keyword-independence.json: "contains + exclusiveMaximum" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 98 - keyword-independence.json: "contains + exclusiveMinimum" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 99 - keyword-independence.json: "contains + exclusiveMinimum" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 100 - keyword-independence.json: "contains + exclusiveMinimum" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 101 - keyword-independence.json: "contains + exclusiveMinimum" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 102 - keyword-independence.json: "contains + maximum" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 103 - keyword-independence.json: "contains + maximum" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 104 - keyword-independence.json: "contains + maximum" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 105 - keyword-independence.json: "contains + maximum" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 106 - keyword-independence.json: "contains + minimum" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 107 - keyword-independence.json: "contains + minimum" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 108 - keyword-independence.json: "contains + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 109 - keyword-independence.json: "contains + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 110 - keyword-independence.json: "contains + multipleOf" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 111 - keyword-independence.json: "contains + multipleOf" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 112 - keyword-independence.json: "contains + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 113 - keyword-independence.json: "contains + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 114 - keyword-independence.json: "exclusiveMaximum + items" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 115 - keyword-independence.json: "exclusiveMaximum + items" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 116 - keyword-independence.json: "exclusiveMaximum + items" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 117 - keyword-independence.json: "exclusiveMaximum + items" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 118 - keyword-independence.json: "exclusiveMinimum + items" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 119 - keyword-independence.json: "exclusiveMinimum + items" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 120 - keyword-independence.json: "exclusiveMinimum + items" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 121 - keyword-independence.json: "exclusiveMinimum + items" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 122 - keyword-independence.json: "items + maximum" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 123 - keyword-independence.json: "items + maximum" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 124 - keyword-independence.json: "items + maximum" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 125 - keyword-independence.json: "items + maximum" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 126 - keyword-independence.json: "items + minimum" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 127 - keyword-independence.json: "items + minimum" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 128 - keyword-independence.json: "items + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 129 - keyword-independence.json: "items + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 130 - keyword-independence.json: "items + multipleOf" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 131 - keyword-independence.json: "items + multipleOf" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 132 - keyword-independence.json: "items + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 133 - keyword-independence.json: "items + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 134 - keyword-independence.json: "exclusiveMaximum + maxItems" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 135 - keyword-independence.json: "exclusiveMaximum + maxItems" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 136 - keyword-independence.json: "exclusiveMaximum + maxItems" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 137 - keyword-independence.json: "exclusiveMaximum + maxItems" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 138 - keyword-independence.json: "exclusiveMinimum + maxItems" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 139 - keyword-independence.json: "exclusiveMinimum + maxItems" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 140 - keyword-independence.json: "exclusiveMinimum + maxItems" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 141 - keyword-independence.json: "exclusiveMinimum + maxItems" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 142 - keyword-independence.json: "maxItems + maximum" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 143 - keyword-independence.json: "maxItems + maximum" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 144 - keyword-independence.json: "maxItems + maximum" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 145 - keyword-independence.json: "maxItems + maximum" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 146 - keyword-independence.json: "maxItems + minimum" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 147 - keyword-independence.json: "maxItems + minimum" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 148 - keyword-independence.json: "maxItems + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 149 - keyword-independence.json: "maxItems + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 150 - keyword-independence.json: "maxItems + multipleOf" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 151 - keyword-independence.json: "maxItems + multipleOf" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 152 - keyword-independence.json: "maxItems + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 153 - keyword-independence.json: "maxItems + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 154 - keyword-independence.json: "exclusiveMaximum + minItems" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 155 - keyword-independence.json: "exclusiveMaximum + minItems" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 156 - keyword-independence.json: "exclusiveMaximum + minItems" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 157 - keyword-independence.json: "exclusiveMaximum + minItems" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 158 - keyword-independence.json: "exclusiveMinimum + minItems" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 159 - keyword-independence.json: "exclusiveMinimum + minItems" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 160 - keyword-independence.json: "exclusiveMinimum + minItems" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 161 - keyword-independence.json: "exclusiveMinimum + minItems" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 162 - keyword-independence.json: "maximum + minItems" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 163 - keyword-independence.json: "maximum + minItems" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 164 - keyword-independence.json: "maximum + minItems" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 165 - keyword-independence.json: "maximum + minItems" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 166 - keyword-independence.json: "minItems + minimum" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 167 - keyword-independence.json: "minItems + minimum" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 168 - keyword-independence.json: "minItems + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 169 - keyword-independence.json: "minItems + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 170 - keyword-independence.json: "minItems + multipleOf" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 171 - keyword-independence.json: "minItems + multipleOf" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 172 - keyword-independence.json: "minItems + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 173 - keyword-independence.json: "minItems + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 174 - keyword-independence.json: "exclusiveMaximum + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 175 - keyword-independence.json: "exclusiveMaximum + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 176 - keyword-independence.json: "exclusiveMaximum + unevaluatedItems" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 177 - keyword-independence.json: "exclusiveMaximum + unevaluatedItems" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 178 - keyword-independence.json: "exclusiveMinimum + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 179 - keyword-independence.json: "exclusiveMinimum + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 180 - keyword-independence.json: "exclusiveMinimum + unevaluatedItems" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 181 - keyword-independence.json: "exclusiveMinimum + unevaluatedItems" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 182 - keyword-independence.json: "maximum + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 183 - keyword-independence.json: "maximum + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 184 - keyword-independence.json: "maximum + unevaluatedItems" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 185 - keyword-independence.json: "maximum + unevaluatedItems" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 186 - keyword-independence.json: "minimum + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 187 - keyword-independence.json: "minimum + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 188 - keyword-independence.json: "minimum + unevaluatedItems" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 189 - keyword-independence.json: "minimum + unevaluatedItems" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 190 - keyword-independence.json: "multipleOf + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 191 - keyword-independence.json: "multipleOf + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 192 - keyword-independence.json: "multipleOf + unevaluatedItems" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 193 - keyword-independence.json: "multipleOf + unevaluatedItems" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 194 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 195 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 196 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 197 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 198 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 199 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 200 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 201 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 202 - keyword-independence.json: "maximum + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 203 - keyword-independence.json: "maximum + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 204 - keyword-independence.json: "maximum + uniqueItems" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 205 - keyword-independence.json: "maximum + uniqueItems" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 206 - keyword-independence.json: "minimum + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 207 - keyword-independence.json: "minimum + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 208 - keyword-independence.json: "minimum + uniqueItems" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 209 - keyword-independence.json: "minimum + uniqueItems" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 210 - keyword-independence.json: "multipleOf + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 211 - keyword-independence.json: "multipleOf + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 212 - keyword-independence.json: "multipleOf + uniqueItems" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 213 - keyword-independence.json: "multipleOf + uniqueItems" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 214 - keyword-independence.json: "additionalProperties + contains" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 215 - keyword-independence.json: "additionalProperties + contains" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 216 - keyword-independence.json: "additionalProperties + contains" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 217 - keyword-independence.json: "additionalProperties + contains" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 218 - keyword-independence.json: "contains + dependentRequired" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 219 - keyword-independence.json: "contains + dependentRequired" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 220 - keyword-independence.json: "contains + dependentRequired" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 221 - keyword-independence.json: "contains + dependentRequired" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 222 - keyword-independence.json: "contains + dependentSchemas" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 223 - keyword-independence.json: "contains + dependentSchemas" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 224 - keyword-independence.json: "contains + dependentSchemas" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 225 - keyword-independence.json: "contains + dependentSchemas" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 226 - keyword-independence.json: "contains + maxProperties" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 227 - keyword-independence.json: "contains + maxProperties" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 228 - keyword-independence.json: "contains + maxProperties" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 229 - keyword-independence.json: "contains + maxProperties" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 230 - keyword-independence.json: "contains + minProperties" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 231 - keyword-independence.json: "contains + minProperties" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 232 - keyword-independence.json: "contains + minProperties" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 233 - keyword-independence.json: "contains + minProperties" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 234 - keyword-independence.json: "contains + patternProperties" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 235 - keyword-independence.json: "contains + patternProperties" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 236 - keyword-independence.json: "contains + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 237 - keyword-independence.json: "contains + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 238 - keyword-independence.json: "contains + properties" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 239 - keyword-independence.json: "contains + properties" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 240 - keyword-independence.json: "contains + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 241 - keyword-independence.json: "contains + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 242 - keyword-independence.json: "contains + propertyNames" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 243 - keyword-independence.json: "contains + propertyNames" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 244 - keyword-independence.json: "contains + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 245 - keyword-independence.json: "contains + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 246 - keyword-independence.json: "contains + required" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 247 - keyword-independence.json: "contains + required" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 248 - keyword-independence.json: "contains + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 249 - keyword-independence.json: "contains + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 250 - keyword-independence.json: "contains + unevaluatedProperties" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 251 - keyword-independence.json: "contains + unevaluatedProperties" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 252 - keyword-independence.json: "contains + unevaluatedProperties" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 253 - keyword-independence.json: "contains + unevaluatedProperties" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 254 - keyword-independence.json: "additionalProperties + items" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 255 - keyword-independence.json: "additionalProperties + items" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 256 - keyword-independence.json: "additionalProperties + items" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 257 - keyword-independence.json: "additionalProperties + items" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 258 - keyword-independence.json: "dependentRequired + items" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 259 - keyword-independence.json: "dependentRequired + items" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 260 - keyword-independence.json: "dependentRequired + items" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 261 - keyword-independence.json: "dependentRequired + items" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 262 - keyword-independence.json: "dependentSchemas + items" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 263 - keyword-independence.json: "dependentSchemas + items" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 264 - keyword-independence.json: "dependentSchemas + items" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 265 - keyword-independence.json: "dependentSchemas + items" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 266 - keyword-independence.json: "items + maxProperties" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 267 - keyword-independence.json: "items + maxProperties" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 268 - keyword-independence.json: "items + maxProperties" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 269 - keyword-independence.json: "items + maxProperties" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 270 - keyword-independence.json: "items + minProperties" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 271 - keyword-independence.json: "items + minProperties" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 272 - keyword-independence.json: "items + minProperties" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 273 - keyword-independence.json: "items + minProperties" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 274 - keyword-independence.json: "items + patternProperties" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 275 - keyword-independence.json: "items + patternProperties" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 276 - keyword-independence.json: "items + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 277 - keyword-independence.json: "items + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 278 - keyword-independence.json: "items + properties" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 279 - keyword-independence.json: "items + properties" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 280 - keyword-independence.json: "items + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 281 - keyword-independence.json: "items + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 282 - keyword-independence.json: "items + propertyNames" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 283 - keyword-independence.json: "items + propertyNames" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 284 - keyword-independence.json: "items + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 285 - keyword-independence.json: "items + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 286 - keyword-independence.json: "items + required" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 287 - keyword-independence.json: "items + required" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 288 - keyword-independence.json: "items + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 289 - keyword-independence.json: "items + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 290 - keyword-independence.json: "items + unevaluatedProperties" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 291 - keyword-independence.json: "items + unevaluatedProperties" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 292 - keyword-independence.json: "items + unevaluatedProperties" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 293 - keyword-independence.json: "items + unevaluatedProperties" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 294 - keyword-independence.json: "additionalProperties + maxItems" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 295 - keyword-independence.json: "additionalProperties + maxItems" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 296 - keyword-independence.json: "additionalProperties + maxItems" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 297 - keyword-independence.json: "additionalProperties + maxItems" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 298 - keyword-independence.json: "dependentRequired + maxItems" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 299 - keyword-independence.json: "dependentRequired + maxItems" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 300 - keyword-independence.json: "dependentRequired + maxItems" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 301 - keyword-independence.json: "dependentRequired + maxItems" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 302 - keyword-independence.json: "dependentSchemas + maxItems" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 303 - keyword-independence.json: "dependentSchemas + maxItems" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 304 - keyword-independence.json: "dependentSchemas + maxItems" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 305 - keyword-independence.json: "dependentSchemas + maxItems" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 306 - keyword-independence.json: "maxItems + maxProperties" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 307 - keyword-independence.json: "maxItems + maxProperties" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 308 - keyword-independence.json: "maxItems + maxProperties" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 309 - keyword-independence.json: "maxItems + maxProperties" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 310 - keyword-independence.json: "maxItems + minProperties" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 311 - keyword-independence.json: "maxItems + minProperties" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 312 - keyword-independence.json: "maxItems + minProperties" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 313 - keyword-independence.json: "maxItems + minProperties" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 314 - keyword-independence.json: "maxItems + patternProperties" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 315 - keyword-independence.json: "maxItems + patternProperties" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 316 - keyword-independence.json: "maxItems + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 317 - keyword-independence.json: "maxItems + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 318 - keyword-independence.json: "maxItems + properties" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 319 - keyword-independence.json: "maxItems + properties" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 320 - keyword-independence.json: "maxItems + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 321 - keyword-independence.json: "maxItems + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 322 - keyword-independence.json: "maxItems + propertyNames" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 323 - keyword-independence.json: "maxItems + propertyNames" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 324 - keyword-independence.json: "maxItems + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 325 - keyword-independence.json: "maxItems + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 326 - keyword-independence.json: "maxItems + required" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 327 - keyword-independence.json: "maxItems + required" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 328 - keyword-independence.json: "maxItems + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 329 - keyword-independence.json: "maxItems + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 330 - keyword-independence.json: "maxItems + unevaluatedProperties" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 331 - keyword-independence.json: "maxItems + unevaluatedProperties" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 332 - keyword-independence.json: "maxItems + unevaluatedProperties" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 333 - keyword-independence.json: "maxItems + unevaluatedProperties" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 334 - keyword-independence.json: "additionalProperties + minItems" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 335 - keyword-independence.json: "additionalProperties + minItems" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 336 - keyword-independence.json: "additionalProperties + minItems" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 337 - keyword-independence.json: "additionalProperties + minItems" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 338 - keyword-independence.json: "dependentRequired + minItems" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 339 - keyword-independence.json: "dependentRequired + minItems" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 340 - keyword-independence.json: "dependentRequired + minItems" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 341 - keyword-independence.json: "dependentRequired + minItems" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 342 - keyword-independence.json: "dependentSchemas + minItems" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 343 - keyword-independence.json: "dependentSchemas + minItems" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 344 - keyword-independence.json: "dependentSchemas + minItems" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 345 - keyword-independence.json: "dependentSchemas + minItems" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 346 - keyword-independence.json: "maxProperties + minItems" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 347 - keyword-independence.json: "maxProperties + minItems" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 348 - keyword-independence.json: "maxProperties + minItems" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 349 - keyword-independence.json: "maxProperties + minItems" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 350 - keyword-independence.json: "minItems + minProperties" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 351 - keyword-independence.json: "minItems + minProperties" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 352 - keyword-independence.json: "minItems + minProperties" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 353 - keyword-independence.json: "minItems + minProperties" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 354 - keyword-independence.json: "minItems + patternProperties" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 355 - keyword-independence.json: "minItems + patternProperties" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 356 - keyword-independence.json: "minItems + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 357 - keyword-independence.json: "minItems + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 358 - keyword-independence.json: "minItems + properties" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 359 - keyword-independence.json: "minItems + properties" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 360 - keyword-independence.json: "minItems + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 361 - keyword-independence.json: "minItems + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 362 - keyword-independence.json: "minItems + propertyNames" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 363 - keyword-independence.json: "minItems + propertyNames" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 364 - keyword-independence.json: "minItems + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 365 - keyword-independence.json: "minItems + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 366 - keyword-independence.json: "minItems + required" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 367 - keyword-independence.json: "minItems + required" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 368 - keyword-independence.json: "minItems + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 369 - keyword-independence.json: "minItems + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 370 - keyword-independence.json: "minItems + unevaluatedProperties" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 371 - keyword-independence.json: "minItems + unevaluatedProperties" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 372 - keyword-independence.json: "minItems + unevaluatedProperties" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 373 - keyword-independence.json: "minItems + unevaluatedProperties" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 374 - keyword-independence.json: "additionalProperties + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 375 - keyword-independence.json: "additionalProperties + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 376 - keyword-independence.json: "additionalProperties + unevaluatedItems" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 377 - keyword-independence.json: "additionalProperties + unevaluatedItems" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 378 - keyword-independence.json: "dependentRequired + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 379 - keyword-independence.json: "dependentRequired + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 380 - keyword-independence.json: "dependentRequired + unevaluatedItems" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 381 - keyword-independence.json: "dependentRequired + unevaluatedItems" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 382 - keyword-independence.json: "dependentSchemas + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 383 - keyword-independence.json: "dependentSchemas + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 384 - keyword-independence.json: "dependentSchemas + unevaluatedItems" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 385 - keyword-independence.json: "dependentSchemas + unevaluatedItems" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 386 - keyword-independence.json: "maxProperties + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 387 - keyword-independence.json: "maxProperties + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 388 - keyword-independence.json: "maxProperties + unevaluatedItems" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 389 - keyword-independence.json: "maxProperties + unevaluatedItems" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 390 - keyword-independence.json: "minProperties + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 391 - keyword-independence.json: "minProperties + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 392 - keyword-independence.json: "minProperties + unevaluatedItems" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 393 - keyword-independence.json: "minProperties + unevaluatedItems" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 394 - keyword-independence.json: "patternProperties + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 395 - keyword-independence.json: "patternProperties + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 396 - keyword-independence.json: "patternProperties + unevaluatedItems" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 397 - keyword-independence.json: "patternProperties + unevaluatedItems" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 398 - keyword-independence.json: "properties + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 399 - keyword-independence.json: "properties + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 400 - keyword-independence.json: "properties + unevaluatedItems" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 401 - keyword-independence.json: "properties + unevaluatedItems" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 402 - keyword-independence.json: "propertyNames + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 403 - keyword-independence.json: "propertyNames + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 404 - keyword-independence.json: "propertyNames + unevaluatedItems" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 405 - keyword-independence.json: "propertyNames + unevaluatedItems" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 406 - keyword-independence.json: "required + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 407 - keyword-independence.json: "required + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 408 - keyword-independence.json: "required + unevaluatedItems" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 409 - keyword-independence.json: "required + unevaluatedItems" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 410 - keyword-independence.json: "unevaluatedItems + unevaluatedProperties" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 411 - keyword-independence.json: "unevaluatedItems + unevaluatedProperties" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 412 - keyword-independence.json: "unevaluatedItems + unevaluatedProperties" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 413 - keyword-independence.json: "unevaluatedItems + unevaluatedProperties" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 414 - keyword-independence.json: "additionalProperties + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 415 - keyword-independence.json: "additionalProperties + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 416 - keyword-independence.json: "additionalProperties + uniqueItems" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 417 - keyword-independence.json: "additionalProperties + uniqueItems" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 418 - keyword-independence.json: "dependentRequired + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 419 - keyword-independence.json: "dependentRequired + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 420 - keyword-independence.json: "dependentRequired + uniqueItems" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 421 - keyword-independence.json: "dependentRequired + uniqueItems" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 422 - keyword-independence.json: "dependentSchemas + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 423 - keyword-independence.json: "dependentSchemas + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 424 - keyword-independence.json: "dependentSchemas + uniqueItems" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 425 - keyword-independence.json: "dependentSchemas + uniqueItems" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 426 - keyword-independence.json: "maxProperties + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 427 - keyword-independence.json: "maxProperties + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 428 - keyword-independence.json: "maxProperties + uniqueItems" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 429 - keyword-independence.json: "maxProperties + uniqueItems" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 430 - keyword-independence.json: "minProperties + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 431 - keyword-independence.json: "minProperties + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 432 - keyword-independence.json: "minProperties + uniqueItems" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 433 - keyword-independence.json: "minProperties + uniqueItems" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 434 - keyword-independence.json: "patternProperties + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 435 - keyword-independence.json: "patternProperties + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 436 - keyword-independence.json: "patternProperties + uniqueItems" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 437 - keyword-independence.json: "patternProperties + uniqueItems" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 438 - keyword-independence.json: "properties + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 439 - keyword-independence.json: "properties + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 440 - keyword-independence.json: "properties + uniqueItems" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 441 - keyword-independence.json: "properties + uniqueItems" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 442 - keyword-independence.json: "propertyNames + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 443 - keyword-independence.json: "propertyNames + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 444 - keyword-independence.json: "propertyNames + uniqueItems" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 445 - keyword-independence.json: "propertyNames + uniqueItems" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 446 - keyword-independence.json: "required + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 447 - keyword-independence.json: "required + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 448 - keyword-independence.json: "required + uniqueItems" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 449 - keyword-independence.json: "required + uniqueItems" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 450 - keyword-independence.json: "unevaluatedProperties + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 451 - keyword-independence.json: "unevaluatedProperties + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 452 - keyword-independence.json: "unevaluatedProperties + uniqueItems" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 453 - keyword-independence.json: "unevaluatedProperties + uniqueItems" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 454 - keyword-independence.json: "contains + maxLength" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 455 - keyword-independence.json: "contains + maxLength" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 456 - keyword-independence.json: "contains + maxLength" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 457 - keyword-independence.json: "contains + maxLength" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 458 - keyword-independence.json: "contains + minLength" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 459 - keyword-independence.json: "contains + minLength" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 460 - keyword-independence.json: "contains + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 461 - keyword-independence.json: "contains + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 462 - keyword-independence.json: "contains + pattern" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 463 - keyword-independence.json: "contains + pattern" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 464 - keyword-independence.json: "contains + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 465 - keyword-independence.json: "contains + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 466 - keyword-independence.json: "items + maxLength" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 467 - keyword-independence.json: "items + maxLength" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 468 - keyword-independence.json: "items + maxLength" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 469 - keyword-independence.json: "items + maxLength" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 470 - keyword-independence.json: "items + minLength" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 471 - keyword-independence.json: "items + minLength" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 472 - keyword-independence.json: "items + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 473 - keyword-independence.json: "items + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 474 - keyword-independence.json: "items + pattern" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 475 - keyword-independence.json: "items + pattern" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 476 - keyword-independence.json: "items + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 477 - keyword-independence.json: "items + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 478 - keyword-independence.json: "maxItems + maxLength" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 479 - keyword-independence.json: "maxItems + maxLength" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 480 - keyword-independence.json: "maxItems + maxLength" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 481 - keyword-independence.json: "maxItems + maxLength" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 482 - keyword-independence.json: "maxItems + minLength" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 483 - keyword-independence.json: "maxItems + minLength" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 484 - keyword-independence.json: "maxItems + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 485 - keyword-independence.json: "maxItems + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 486 - keyword-independence.json: "maxItems + pattern" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 487 - keyword-independence.json: "maxItems + pattern" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 488 - keyword-independence.json: "maxItems + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 489 - keyword-independence.json: "maxItems + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 490 - keyword-independence.json: "maxLength + minItems" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 491 - keyword-independence.json: "maxLength + minItems" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 492 - keyword-independence.json: "maxLength + minItems" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 493 - keyword-independence.json: "maxLength + minItems" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 494 - keyword-independence.json: "minItems + minLength" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 495 - keyword-independence.json: "minItems + minLength" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 496 - keyword-independence.json: "minItems + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 497 - keyword-independence.json: "minItems + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 498 - keyword-independence.json: "minItems + pattern" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 499 - keyword-independence.json: "minItems + pattern" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 500 - keyword-independence.json: "minItems + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 501 - keyword-independence.json: "minItems + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 502 - keyword-independence.json: "maxLength + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 503 - keyword-independence.json: "maxLength + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 504 - keyword-independence.json: "maxLength + unevaluatedItems" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 505 - keyword-independence.json: "maxLength + unevaluatedItems" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 506 - keyword-independence.json: "minLength + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 507 - keyword-independence.json: "minLength + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 508 - keyword-independence.json: "minLength + unevaluatedItems" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 509 - keyword-independence.json: "minLength + unevaluatedItems" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 510 - keyword-independence.json: "pattern + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 511 - keyword-independence.json: "pattern + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 512 - keyword-independence.json: "pattern + unevaluatedItems" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 513 - keyword-independence.json: "pattern + unevaluatedItems" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 514 - keyword-independence.json: "maxLength + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 515 - keyword-independence.json: "maxLength + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 516 - keyword-independence.json: "maxLength + uniqueItems" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 517 - keyword-independence.json: "maxLength + uniqueItems" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 518 - keyword-independence.json: "minLength + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 519 - keyword-independence.json: "minLength + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 520 - keyword-independence.json: "minLength + uniqueItems" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 521 - keyword-independence.json: "minLength + uniqueItems" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 522 - keyword-independence.json: "pattern + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 523 - keyword-independence.json: "pattern + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 524 - keyword-independence.json: "pattern + uniqueItems" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 525 - keyword-independence.json: "pattern + uniqueItems" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 526 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 527 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 528 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 529 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 530 - keyword-independence.json: "dependentRequired + exclusiveMaximum" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 531 - keyword-independence.json: "dependentRequired + exclusiveMaximum" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 532 - keyword-independence.json: "dependentRequired + exclusiveMaximum" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 533 - keyword-independence.json: "dependentRequired + exclusiveMaximum" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 534 - keyword-independence.json: "dependentSchemas + exclusiveMaximum" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 535 - keyword-independence.json: "dependentSchemas + exclusiveMaximum" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 536 - keyword-independence.json: "dependentSchemas + exclusiveMaximum" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 537 - keyword-independence.json: "dependentSchemas + exclusiveMaximum" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 538 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 539 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 540 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 541 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 542 - keyword-independence.json: "exclusiveMaximum + minProperties" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 543 - keyword-independence.json: "exclusiveMaximum + minProperties" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 544 - keyword-independence.json: "exclusiveMaximum + minProperties" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 545 - keyword-independence.json: "exclusiveMaximum + minProperties" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 546 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 547 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 548 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 549 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 550 - keyword-independence.json: "exclusiveMaximum + properties" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 551 - keyword-independence.json: "exclusiveMaximum + properties" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 552 - keyword-independence.json: "exclusiveMaximum + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 553 - keyword-independence.json: "exclusiveMaximum + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 554 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 555 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 556 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 557 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 558 - keyword-independence.json: "exclusiveMaximum + required" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 559 - keyword-independence.json: "exclusiveMaximum + required" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 560 - keyword-independence.json: "exclusiveMaximum + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 561 - keyword-independence.json: "exclusiveMaximum + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 562 - keyword-independence.json: "exclusiveMaximum + unevaluatedProperties" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 563 - keyword-independence.json: "exclusiveMaximum + unevaluatedProperties" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 564 - keyword-independence.json: "exclusiveMaximum + unevaluatedProperties" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 565 - keyword-independence.json: "exclusiveMaximum + unevaluatedProperties" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 566 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 567 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 568 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 569 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 570 - keyword-independence.json: "dependentRequired + exclusiveMinimum" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 571 - keyword-independence.json: "dependentRequired + exclusiveMinimum" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 572 - keyword-independence.json: "dependentRequired + exclusiveMinimum" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 573 - keyword-independence.json: "dependentRequired + exclusiveMinimum" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 574 - keyword-independence.json: "dependentSchemas + exclusiveMinimum" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 575 - keyword-independence.json: "dependentSchemas + exclusiveMinimum" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 576 - keyword-independence.json: "dependentSchemas + exclusiveMinimum" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 577 - keyword-independence.json: "dependentSchemas + exclusiveMinimum" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 578 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 579 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 580 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 581 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 582 - keyword-independence.json: "exclusiveMinimum + minProperties" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 583 - keyword-independence.json: "exclusiveMinimum + minProperties" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 584 - keyword-independence.json: "exclusiveMinimum + minProperties" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 585 - keyword-independence.json: "exclusiveMinimum + minProperties" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 586 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 587 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 588 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 589 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 590 - keyword-independence.json: "exclusiveMinimum + properties" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 591 - keyword-independence.json: "exclusiveMinimum + properties" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 592 - keyword-independence.json: "exclusiveMinimum + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 593 - keyword-independence.json: "exclusiveMinimum + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 594 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 595 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 596 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 597 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 598 - keyword-independence.json: "exclusiveMinimum + required" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 599 - keyword-independence.json: "exclusiveMinimum + required" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 600 - keyword-independence.json: "exclusiveMinimum + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 601 - keyword-independence.json: "exclusiveMinimum + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 602 - keyword-independence.json: "exclusiveMinimum + unevaluatedProperties" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 603 - keyword-independence.json: "exclusiveMinimum + unevaluatedProperties" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 604 - keyword-independence.json: "exclusiveMinimum + unevaluatedProperties" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 605 - keyword-independence.json: "exclusiveMinimum + unevaluatedProperties" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 606 - keyword-independence.json: "additionalProperties + maximum" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 607 - keyword-independence.json: "additionalProperties + maximum" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 608 - keyword-independence.json: "additionalProperties + maximum" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 609 - keyword-independence.json: "additionalProperties + maximum" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 610 - keyword-independence.json: "dependentRequired + maximum" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 611 - keyword-independence.json: "dependentRequired + maximum" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 612 - keyword-independence.json: "dependentRequired + maximum" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 613 - keyword-independence.json: "dependentRequired + maximum" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 614 - keyword-independence.json: "dependentSchemas + maximum" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 615 - keyword-independence.json: "dependentSchemas + maximum" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 616 - keyword-independence.json: "dependentSchemas + maximum" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 617 - keyword-independence.json: "dependentSchemas + maximum" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 618 - keyword-independence.json: "maxProperties + maximum" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 619 - keyword-independence.json: "maxProperties + maximum" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 620 - keyword-independence.json: "maxProperties + maximum" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 621 - keyword-independence.json: "maxProperties + maximum" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 622 - keyword-independence.json: "maximum + minProperties" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 623 - keyword-independence.json: "maximum + minProperties" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 624 - keyword-independence.json: "maximum + minProperties" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 625 - keyword-independence.json: "maximum + minProperties" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 626 - keyword-independence.json: "maximum + patternProperties" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 627 - keyword-independence.json: "maximum + patternProperties" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 628 - keyword-independence.json: "maximum + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 629 - keyword-independence.json: "maximum + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 630 - keyword-independence.json: "maximum + properties" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 631 - keyword-independence.json: "maximum + properties" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 632 - keyword-independence.json: "maximum + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 633 - keyword-independence.json: "maximum + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 634 - keyword-independence.json: "maximum + propertyNames" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 635 - keyword-independence.json: "maximum + propertyNames" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 636 - keyword-independence.json: "maximum + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 637 - keyword-independence.json: "maximum + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 638 - keyword-independence.json: "maximum + required" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 639 - keyword-independence.json: "maximum + required" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 640 - keyword-independence.json: "maximum + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 641 - keyword-independence.json: "maximum + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 642 - keyword-independence.json: "maximum + unevaluatedProperties" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 643 - keyword-independence.json: "maximum + unevaluatedProperties" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 644 - keyword-independence.json: "maximum + unevaluatedProperties" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 645 - keyword-independence.json: "maximum + unevaluatedProperties" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 646 - keyword-independence.json: "additionalProperties + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 647 - keyword-independence.json: "additionalProperties + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 648 - keyword-independence.json: "additionalProperties + minimum" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 649 - keyword-independence.json: "additionalProperties + minimum" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 650 - keyword-independence.json: "dependentRequired + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 651 - keyword-independence.json: "dependentRequired + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 652 - keyword-independence.json: "dependentRequired + minimum" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 653 - keyword-independence.json: "dependentRequired + minimum" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 654 - keyword-independence.json: "dependentSchemas + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 655 - keyword-independence.json: "dependentSchemas + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 656 - keyword-independence.json: "dependentSchemas + minimum" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 657 - keyword-independence.json: "dependentSchemas + minimum" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 658 - keyword-independence.json: "maxProperties + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 659 - keyword-independence.json: "maxProperties + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 660 - keyword-independence.json: "maxProperties + minimum" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 661 - keyword-independence.json: "maxProperties + minimum" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 662 - keyword-independence.json: "minProperties + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 663 - keyword-independence.json: "minProperties + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 664 - keyword-independence.json: "minProperties + minimum" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 665 - keyword-independence.json: "minProperties + minimum" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 666 - keyword-independence.json: "minimum + patternProperties" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 667 - keyword-independence.json: "minimum + patternProperties" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 668 - keyword-independence.json: "minimum + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 669 - keyword-independence.json: "minimum + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 670 - keyword-independence.json: "minimum + properties" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 671 - keyword-independence.json: "minimum + properties" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 672 - keyword-independence.json: "minimum + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 673 - keyword-independence.json: "minimum + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 674 - keyword-independence.json: "minimum + propertyNames" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 675 - keyword-independence.json: "minimum + propertyNames" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 676 - keyword-independence.json: "minimum + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 677 - keyword-independence.json: "minimum + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 678 - keyword-independence.json: "minimum + required" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 679 - keyword-independence.json: "minimum + required" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 680 - keyword-independence.json: "minimum + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 681 - keyword-independence.json: "minimum + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 682 - keyword-independence.json: "minimum + unevaluatedProperties" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 683 - keyword-independence.json: "minimum + unevaluatedProperties" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 684 - keyword-independence.json: "minimum + unevaluatedProperties" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 685 - keyword-independence.json: "minimum + unevaluatedProperties" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 686 - keyword-independence.json: "additionalProperties + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 687 - keyword-independence.json: "additionalProperties + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 688 - keyword-independence.json: "additionalProperties + multipleOf" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 689 - keyword-independence.json: "additionalProperties + multipleOf" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 690 - keyword-independence.json: "dependentRequired + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 691 - keyword-independence.json: "dependentRequired + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 692 - keyword-independence.json: "dependentRequired + multipleOf" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 693 - keyword-independence.json: "dependentRequired + multipleOf" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 694 - keyword-independence.json: "dependentSchemas + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 695 - keyword-independence.json: "dependentSchemas + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 696 - keyword-independence.json: "dependentSchemas + multipleOf" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 697 - keyword-independence.json: "dependentSchemas + multipleOf" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 698 - keyword-independence.json: "maxProperties + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 699 - keyword-independence.json: "maxProperties + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 700 - keyword-independence.json: "maxProperties + multipleOf" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 701 - keyword-independence.json: "maxProperties + multipleOf" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 702 - keyword-independence.json: "minProperties + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 703 - keyword-independence.json: "minProperties + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 704 - keyword-independence.json: "minProperties + multipleOf" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 705 - keyword-independence.json: "minProperties + multipleOf" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 706 - keyword-independence.json: "multipleOf + patternProperties" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 707 - keyword-independence.json: "multipleOf + patternProperties" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 708 - keyword-independence.json: "multipleOf + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 709 - keyword-independence.json: "multipleOf + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 710 - keyword-independence.json: "multipleOf + properties" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 711 - keyword-independence.json: "multipleOf + properties" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 712 - keyword-independence.json: "multipleOf + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 713 - keyword-independence.json: "multipleOf + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 714 - keyword-independence.json: "multipleOf + propertyNames" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 715 - keyword-independence.json: "multipleOf + propertyNames" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 716 - keyword-independence.json: "multipleOf + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 717 - keyword-independence.json: "multipleOf + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 718 - keyword-independence.json: "multipleOf + required" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 719 - keyword-independence.json: "multipleOf + required" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 720 - keyword-independence.json: "multipleOf + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 721 - keyword-independence.json: "multipleOf + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 722 - keyword-independence.json: "multipleOf + unevaluatedProperties" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 723 - keyword-independence.json: "multipleOf + unevaluatedProperties" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 724 - keyword-independence.json: "multipleOf + unevaluatedProperties" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 725 - keyword-independence.json: "multipleOf + unevaluatedProperties" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 726 - keyword-independence.json: "exclusiveMaximum + maxLength" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 727 - keyword-independence.json: "exclusiveMaximum + maxLength" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 728 - keyword-independence.json: "exclusiveMaximum + maxLength" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 729 - keyword-independence.json: "exclusiveMaximum + maxLength" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 730 - keyword-independence.json: "exclusiveMaximum + minLength" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 731 - keyword-independence.json: "exclusiveMaximum + minLength" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 732 - keyword-independence.json: "exclusiveMaximum + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 733 - keyword-independence.json: "exclusiveMaximum + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 734 - keyword-independence.json: "exclusiveMaximum + pattern" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 735 - keyword-independence.json: "exclusiveMaximum + pattern" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 736 - keyword-independence.json: "exclusiveMaximum + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 737 - keyword-independence.json: "exclusiveMaximum + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 738 - keyword-independence.json: "exclusiveMinimum + maxLength" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 739 - keyword-independence.json: "exclusiveMinimum + maxLength" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 740 - keyword-independence.json: "exclusiveMinimum + maxLength" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 741 - keyword-independence.json: "exclusiveMinimum + maxLength" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 742 - keyword-independence.json: "exclusiveMinimum + minLength" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 743 - keyword-independence.json: "exclusiveMinimum + minLength" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 744 - keyword-independence.json: "exclusiveMinimum + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 745 - keyword-independence.json: "exclusiveMinimum + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 746 - keyword-independence.json: "exclusiveMinimum + pattern" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 747 - keyword-independence.json: "exclusiveMinimum + pattern" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 748 - keyword-independence.json: "exclusiveMinimum + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 749 - keyword-independence.json: "exclusiveMinimum + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 750 - keyword-independence.json: "maxLength + maximum" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 751 - keyword-independence.json: "maxLength + maximum" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 752 - keyword-independence.json: "maxLength + maximum" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 753 - keyword-independence.json: "maxLength + maximum" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 754 - keyword-independence.json: "maximum + minLength" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 755 - keyword-independence.json: "maximum + minLength" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 756 - keyword-independence.json: "maximum + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 757 - keyword-independence.json: "maximum + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 758 - keyword-independence.json: "maximum + pattern" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 759 - keyword-independence.json: "maximum + pattern" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 760 - keyword-independence.json: "maximum + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 761 - keyword-independence.json: "maximum + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 762 - keyword-independence.json: "maxLength + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 763 - keyword-independence.json: "maxLength + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 764 - keyword-independence.json: "maxLength + minimum" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 765 - keyword-independence.json: "maxLength + minimum" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 766 - keyword-independence.json: "minLength + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 767 - keyword-independence.json: "minLength + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 768 - keyword-independence.json: "minLength + minimum" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 769 - keyword-independence.json: "minLength + minimum" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 770 - keyword-independence.json: "minimum + pattern" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 771 - keyword-independence.json: "minimum + pattern" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 772 - keyword-independence.json: "minimum + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 773 - keyword-independence.json: "minimum + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 774 - keyword-independence.json: "maxLength + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 775 - keyword-independence.json: "maxLength + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 776 - keyword-independence.json: "maxLength + multipleOf" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 777 - keyword-independence.json: "maxLength + multipleOf" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 778 - keyword-independence.json: "minLength + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 779 - keyword-independence.json: "minLength + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 780 - keyword-independence.json: "minLength + multipleOf" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 781 - keyword-independence.json: "minLength + multipleOf" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 782 - keyword-independence.json: "multipleOf + pattern" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 783 - keyword-independence.json: "multipleOf + pattern" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 784 - keyword-independence.json: "multipleOf + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 785 - keyword-independence.json: "multipleOf + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 786 - keyword-independence.json: "additionalProperties + maxLength" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 787 - keyword-independence.json: "additionalProperties + maxLength" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 788 - keyword-independence.json: "additionalProperties + maxLength" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 789 - keyword-independence.json: "additionalProperties + maxLength" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 790 - keyword-independence.json: "additionalProperties + minLength" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 791 - keyword-independence.json: "additionalProperties + minLength" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 792 - keyword-independence.json: "additionalProperties + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 793 - keyword-independence.json: "additionalProperties + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 794 - keyword-independence.json: "additionalProperties + pattern" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 795 - keyword-independence.json: "additionalProperties + pattern" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 796 - keyword-independence.json: "additionalProperties + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 797 - keyword-independence.json: "additionalProperties + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 798 - keyword-independence.json: "dependentRequired + maxLength" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 799 - keyword-independence.json: "dependentRequired + maxLength" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 800 - keyword-independence.json: "dependentRequired + maxLength" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 801 - keyword-independence.json: "dependentRequired + maxLength" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 802 - keyword-independence.json: "dependentRequired + minLength" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 803 - keyword-independence.json: "dependentRequired + minLength" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 804 - keyword-independence.json: "dependentRequired + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 805 - keyword-independence.json: "dependentRequired + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 806 - keyword-independence.json: "dependentRequired + pattern" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 807 - keyword-independence.json: "dependentRequired + pattern" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 808 - keyword-independence.json: "dependentRequired + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 809 - keyword-independence.json: "dependentRequired + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 810 - keyword-independence.json: "dependentSchemas + maxLength" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 811 - keyword-independence.json: "dependentSchemas + maxLength" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 812 - keyword-independence.json: "dependentSchemas + maxLength" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 813 - keyword-independence.json: "dependentSchemas + maxLength" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 814 - keyword-independence.json: "dependentSchemas + minLength" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 815 - keyword-independence.json: "dependentSchemas + minLength" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 816 - keyword-independence.json: "dependentSchemas + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 817 - keyword-independence.json: "dependentSchemas + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 818 - keyword-independence.json: "dependentSchemas + pattern" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 819 - keyword-independence.json: "dependentSchemas + pattern" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 820 - keyword-independence.json: "dependentSchemas + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 821 - keyword-independence.json: "dependentSchemas + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 822 - keyword-independence.json: "maxLength + maxProperties" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 823 - keyword-independence.json: "maxLength + maxProperties" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 824 - keyword-independence.json: "maxLength + maxProperties" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 825 - keyword-independence.json: "maxLength + maxProperties" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 826 - keyword-independence.json: "maxProperties + minLength" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 827 - keyword-independence.json: "maxProperties + minLength" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 828 - keyword-independence.json: "maxProperties + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 829 - keyword-independence.json: "maxProperties + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 830 - keyword-independence.json: "maxProperties + pattern" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 831 - keyword-independence.json: "maxProperties + pattern" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 832 - keyword-independence.json: "maxProperties + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 833 - keyword-independence.json: "maxProperties + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 834 - keyword-independence.json: "maxLength + minProperties" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 835 - keyword-independence.json: "maxLength + minProperties" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 836 - keyword-independence.json: "maxLength + minProperties" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 837 - keyword-independence.json: "maxLength + minProperties" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 838 - keyword-independence.json: "minLength + minProperties" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 839 - keyword-independence.json: "minLength + minProperties" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 840 - keyword-independence.json: "minLength + minProperties" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 841 - keyword-independence.json: "minLength + minProperties" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 842 - keyword-independence.json: "minProperties + pattern" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 843 - keyword-independence.json: "minProperties + pattern" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 844 - keyword-independence.json: "minProperties + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 845 - keyword-independence.json: "minProperties + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 846 - keyword-independence.json: "maxLength + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 847 - keyword-independence.json: "maxLength + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 848 - keyword-independence.json: "maxLength + patternProperties" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 849 - keyword-independence.json: "maxLength + patternProperties" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 850 - keyword-independence.json: "minLength + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 851 - keyword-independence.json: "minLength + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 852 - keyword-independence.json: "minLength + patternProperties" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 853 - keyword-independence.json: "minLength + patternProperties" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 854 - keyword-independence.json: "pattern + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 855 - keyword-independence.json: "pattern + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 856 - keyword-independence.json: "pattern + patternProperties" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 857 - keyword-independence.json: "pattern + patternProperties" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 858 - keyword-independence.json: "maxLength + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 859 - keyword-independence.json: "maxLength + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 860 - keyword-independence.json: "maxLength + properties" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 861 - keyword-independence.json: "maxLength + properties" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 862 - keyword-independence.json: "minLength + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 863 - keyword-independence.json: "minLength + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 864 - keyword-independence.json: "minLength + properties" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 865 - keyword-independence.json: "minLength + properties" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 866 - keyword-independence.json: "pattern + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 867 - keyword-independence.json: "pattern + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 868 - keyword-independence.json: "pattern + properties" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 869 - keyword-independence.json: "pattern + properties" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 870 - keyword-independence.json: "maxLength + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 871 - keyword-independence.json: "maxLength + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 872 - keyword-independence.json: "maxLength + propertyNames" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 873 - keyword-independence.json: "maxLength + propertyNames" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 874 - keyword-independence.json: "minLength + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 875 - keyword-independence.json: "minLength + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 876 - keyword-independence.json: "minLength + propertyNames" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 877 - keyword-independence.json: "minLength + propertyNames" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 878 - keyword-independence.json: "pattern + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 879 - keyword-independence.json: "pattern + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 880 - keyword-independence.json: "pattern + propertyNames" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 881 - keyword-independence.json: "pattern + propertyNames" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 882 - keyword-independence.json: "maxLength + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 883 - keyword-independence.json: "maxLength + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 884 - keyword-independence.json: "maxLength + required" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 885 - keyword-independence.json: "maxLength + required" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 886 - keyword-independence.json: "minLength + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 887 - keyword-independence.json: "minLength + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 888 - keyword-independence.json: "minLength + required" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 889 - keyword-independence.json: "minLength + required" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 890 - keyword-independence.json: "pattern + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 891 - keyword-independence.json: "pattern + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 892 - keyword-independence.json: "pattern + required" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 893 - keyword-independence.json: "pattern + required" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 894 - keyword-independence.json: "maxLength + unevaluatedProperties" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 895 - keyword-independence.json: "maxLength + unevaluatedProperties" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 896 - keyword-independence.json: "maxLength + unevaluatedProperties" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 897 - keyword-independence.json: "maxLength + unevaluatedProperties" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 898 - keyword-independence.json: "minLength + unevaluatedProperties" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 899 - keyword-independence.json: "minLength + unevaluatedProperties" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 900 - keyword-independence.json: "minLength + unevaluatedProperties" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 901 - keyword-independence.json: "minLength + unevaluatedProperties" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 902 - keyword-independence.json: "pattern + unevaluatedProperties" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 903 - keyword-independence.json: "pattern + unevaluatedProperties" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 904 - keyword-independence.json: "pattern + unevaluatedProperties" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 905 - keyword-independence.json: "pattern + unevaluatedProperties" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 906 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const numeric value does not match string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/const_string",
    #       "keywordLocation": "/properties/const_string/const"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/const_string",
    #       "keywordLocation": "/properties/const_string/const"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 907 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const numeric value does match number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 908 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const string value matches string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 909 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const string value does not match number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/const_number",
    #       "keywordLocation": "/properties/const_number/const"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/const_number",
    #       "keywordLocation": "/properties/const_number/const"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 910 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum numeric value does not match string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/enum_string",
    #       "keywordLocation": "/properties/enum_string/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/enum_string",
    #       "keywordLocation": "/properties/enum_string/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 911 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum numeric value does match number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 912 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum string value matches string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 913 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum string value does not match number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/enum_number",
    #       "keywordLocation": "/properties/enum_number/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/enum_number",
    #       "keywordLocation": "/properties/enum_number/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 914 - recursive-dynamic.json: "dynamic $recursiveRef destination (not predictable at schema compile time)" - "numeric node" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 915 - recursive-dynamic.json: "dynamic $recursiveRef destination (not predictable at schema compile time)" - "integer node" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "integerNode.json#/type",
    #       "error": "got number, not one of object, integer",
    #       "instanceLocation": "/november",
    #       "keywordLocation": "/else/$ref/additionalProperties/$recursiveRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "inner.json#/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "main.json#/else",
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "integerNode.json#/type",
    #       "error": "got number, not one of object, integer",
    #       "instanceLocation": "/november",
    #       "keywordLocation": "/else/$ref/additionalProperties/$recursiveRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "inner.json#/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "main.json#/else",
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 916 - recursive-dynamic.json: "$recursiveRef points to a boolean schema" - "follow $recursiveRef to a true schema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 917 - recursive-dynamic.json: "$recursiveRef points to a boolean schema" - "follow $recursiveRef to a false schema" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/false",
    #       "error": "subschema is false",
    #       "instanceLocation": "/false",
    #       "keywordLocation": "/properties/false/$recursiveRef"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/false",
    #       "error": "subschema is false",
    #       "instanceLocation": "/false",
    #       "keywordLocation": "/properties/false/$recursiveRef"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 918 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination (with $anchors)" - "data is valid against first definition" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 919 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination (with $anchors)" - "data is invalid against first definition" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/ref-and-id1/base.json#/$defs/bigint/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/ref-and-id1/base.json#/$defs/bigint/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 920 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination (with uris)" - "data is valid against first definition" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 921 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination (with uris)" - "data is invalid against first definition" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/ref-and-id2/int.json#/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/ref-and-id2/int.json#/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 922 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination (with json pointers)" - "data is valid against innermost type check" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 923 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination (with json pointers)" - "data is invalid against innermost type check" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/base/allOf0/#/oneOf/0/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/base/allOf0/#/oneOf/0/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/oneOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/base/allOf0/#/oneOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/oneOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/base/#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/base/allOf0/#/oneOf/0/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/base/#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 924 - ref.json: "order of evaluation: $id and $ref" - "data is valid against first definition" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 925 - ref.json: "order of evaluation: $id and $ref" - "data is invalid against first definition" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/ref1/int.json#/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/ref1/int.json#/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 926 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is valid against first definition" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 927 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is invalid against first definition" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/ref2/base.json#/$defs/bigint/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/ref2/base.json#/$defs/bigint/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 928 - ref.json: "naive replacement of $ref with its destination is not correct" - "do not evaluate the $ref inside the enum" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 929 - ref.json: "naive replacement of $ref with its destination is not correct" - "match the enum exactly" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 930 - ref.json: "invalid $ref: invalid anchor fragment" - "an invalid anchor fragment" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$defs/foo/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$defs/foo/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 931 - ref.json: "invalid $ref: invalid json-pointer fragment" - "an invalid json-pointer fragment" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$defs/foo/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$defs/foo/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 932 - ref.json: "base URI change - change folder in subschema with path from root" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 933 - ref.json: "base URI change - change folder in subschema with path from root" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/properties/list/$ref/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/$defs/bar/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/properties/list/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/properties/list/$ref/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/$defs/bar/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/properties/list/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 934 - short-circuit.json: "items (schema form) does not improperly short-circuit" - "single item is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 935 - short-circuit.json: "items (schema form) does not improperly short-circuit" - "second item is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 936 - short-circuit.json: "items (array form) does not improperly short-circuit" - "single item is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 937 - short-circuit.json: "items (array form) does not improperly short-circuit" - "second item is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/1/multipleOf"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/1/multipleOf"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 938 - short-circuit.json: "additionalItems does not improperly short-circuit" - "single additional item is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 939 - short-circuit.json: "additionalItems does not improperly short-circuit" - "second additional item is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/additionalItems/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/additionalItems/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 940 - short-circuit.json: "unevaluatedItems does not improperly short-circuit" - "single item is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 941 - short-circuit.json: "unevaluatedItems does not improperly short-circuit" - "second item is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/unevaluatedItems/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/unevaluatedItems/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 942 - short-circuit.json: "properties does not improperly short-circuit" - "single property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 943 - short-circuit.json: "properties does not improperly short-circuit" - "second property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/properties/beta/multipleOf"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/properties/beta/multipleOf"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 944 - short-circuit.json: "properties does not improperly short-circuit (boolean schemas)" - "single property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 945 - short-circuit.json: "properties does not improperly short-circuit (boolean schemas)" - "second property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/properties/beta"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/properties/beta"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 946 - short-circuit.json: "patternProperties does not improperly short-circuit" - "single property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 947 - short-circuit.json: "patternProperties does not improperly short-circuit" - "second property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/patternProperties/^b/multipleOf"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/patternProperties/^b/multipleOf"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 948 - short-circuit.json: "patternProperties does not improperly short-circuit (boolean schemas)" - "single property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 949 - short-circuit.json: "patternProperties does not improperly short-circuit (boolean schemas)" - "second property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/patternProperties/^b"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/patternProperties/^b"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 950 - short-circuit.json: "additionalProperties does not improperly short-circuit" - "single property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 951 - short-circuit.json: "additionalProperties does not improperly short-circuit" - "second property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/additionalProperties/multipleOf"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/additionalProperties/multipleOf"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 952 - short-circuit.json: "unevaluatedProperties does not improperly short-circuit" - "single property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 953 - short-circuit.json: "unevaluatedProperties does not improperly short-circuit" - "second property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/unevaluatedProperties/multipleOf"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/unevaluatedProperties/multipleOf"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 954 - unknownKeyword.json: "past and future keywords are ignored" - "passing" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 955 - unknownKeyword.json: "past and future keywords are ignored" - "failing (string)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 956 - unknownKeyword.json: "past and future keywords are ignored" - "failing (object)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 957 - unknownKeyword.json: "past and future keywords are ignored" - "failing (array)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 958 - vocabulary.json: "valid $vocabulary" - "a valid $vocabulary value" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 959 - vocabulary.json: "invalid $vocabulary (wrong specification version), but not until we evaluate with this metaschema" - "invalid $vocabulary (wrong specification version): register this metaschema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 960 - vocabulary.json: "use schema (invalid $vocabulary) as a metaschema" - "invalid $vocabulary value: wrong specification version" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://mymetaschema2#/$vocabulary/https:~1~1json-schema.org~1draft~12020-12~1vocab~1core",
    #       "error": "\"https://json-schema.org/draft/2020-12/vocab/core\" uses draft2020-12, but the metaschema itself uses draft2019-09",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$schema/$vocabulary/https:~1~1json-schema.org~1draft~12020-12~1vocab~1core"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://mymetaschema2#/$vocabulary",
    #       "error": "the first vocabulary (by evaluation_order) must be Core",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$schema/$vocabulary"
    #     },
    #     {
    #       "error": "\"https://mymetaschema2\" is not a valid metaschema",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$schema"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://mymetaschema2#/$vocabulary/https:~1~1json-schema.org~1draft~12020-12~1vocab~1core",
    #       "error": "\"https://json-schema.org/draft/2020-12/vocab/core\" uses draft2020-12, but the metaschema itself uses draft2019-09",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$schema/$vocabulary/https:~1~1json-schema.org~1draft~12020-12~1vocab~1core"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://mymetaschema2#/$vocabulary",
    #       "error": "the first vocabulary (by evaluation_order) must be Core",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$schema/$vocabulary"
    #     },
    #     {
    #       "error": "\"https://mymetaschema2\" is not a valid metaschema",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$schema"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 961 - vocabulary.json: "invalid $vocabulary (unknown URI), but not until we evaluate with this metaschema" - "invalid $vocabulary (unknown URI): register this metaschema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 962 - vocabulary.json: "use schema (unknown URI) as a metaschema" - "invalid $vocabulary value: unknown URI" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://mymetaschema3#/$vocabulary/https:~1~1foo.com",
    #       "error": "\"https://foo.com\" is not a known vocabulary",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$schema/$vocabulary/https:~1~1foo.com"
    #     },
    #     {
    #       "error": "\"https://mymetaschema3\" is not a valid metaschema",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$schema"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://mymetaschema3#/$vocabulary/https:~1~1foo.com",
    #       "error": "\"https://foo.com\" is not a known vocabulary",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$schema/$vocabulary/https:~1~1foo.com"
    #     },
    #     {
    #       "error": "\"https://mymetaschema3\" is not a valid metaschema",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$schema"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 963 - optional/format-date-time.json: "leap seconds" - "a valid date-time with a leap second, UTC" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 964 - optional/format-date-time.json: "leap seconds" - "a valid date-time with a leap second, with minus offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 965 - optional/format-date-time.json: "leap seconds" - "an invalid date-time with a leap second, UTC" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 966 - optional/format-date-time.json: "leap seconds" - "an invalid date-time with a leap second, with minus offset" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 967 - optional/format-date.json: "non-ascii digits should be rejected" - "BENGALI DIGIT TWO is not valid in dates" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 968 - optional/format-time.json: "validation of time strings" - "valid leap second, Zulu" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 969 - optional/format-time.json: "validation of time strings" - "invalid leap second, Zulu (wrong hour)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 970 - optional/format-time.json: "validation of time strings" - "invalid leap second, Zulu (wrong minute)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 971 - optional/format-time.json: "validation of time strings" - "valid leap second, positive time-offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 972 - optional/format-time.json: "validation of time strings" - "valid leap second, large positive time-offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 973 - optional/format-time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong hour)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 974 - optional/format-time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong minute)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 975 - optional/format-time.json: "validation of time strings" - "valid leap second, negative time-offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 976 - optional/format-time.json: "validation of time strings" - "valid leap second, large negative time-offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 977 - optional/format-time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong hour)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 978 - optional/format-time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong minute)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 979 - optional/format-time.json: "validation of time strings" - "no time offset" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 980 - optional/format-time.json: "validation of time strings" - "non-ascii digits should be rejected" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 981 - no leaks in the main evaluator object
ok 982 - no leaks in the short-circuiting evaluator object
ok 983 - got unsupported keyword warnings
1..983
ok
# AUTHOR_TESTING: <undef>
# AUTOMATED_TESTING: 1
# EXTENDED_TESTING: <undef>
# NO_TODO: <undef>
# TEST_DIR: <undef>
# NO_SHORT_CIRCUIT: <undef>
# 
# 
# generated with:              Test::JSON::Schema::Acceptance 1.027
# specification version:       draft2020-12
# using custom test directory: t/additional-tests-draft2020-12
# optional tests included:     yes
# 
# filename                                  pass  todo-fail  fail
# ---------------------------------------------------------------
# anchor.json                                  2          0     0
# annotation-collection.json                  10          0     0
# badRef.json                                  3          0     0
# dynamicRef.json                              7          0     0
# faux-buggy-schemas.json                      2          0     0
# format-duration.json                         9          0     0
# format-ipv4.json                             4          0     0
# format-ipv6.json                            17          0     0
# format-relative-json-pointer.json            7          0     0
# formats.json                                 4          0     0
# id.json                                      6          0     0
# integers.json                               29          0     0
# keyword-independence.json                  884          0     0
# loose-types-const-enum.json                  8          0     0
# recursive-dynamic.json                       2          0     0
# ref-and-id.json                              6          0     0
# ref.json                                    10          0     0
# short-circuit.json                          20          0     0
# unknownKeyword.json                          4          0     0
# vocabulary.json                             11          0     0
# optional/format-date-time.json               4          0     0
# optional/format-date.json                    1          0     0
# optional/format-time.json                   13          0     0
# ---------------------------------------------------------------
# TOTAL                                     1063          0     0
# 
# Congratulations, all non-optional tests are passing!
# 
t/additional-tests-draft2020-12.t ....... 
# running tests in /build/reproducible-path/libjson-schema-modern-perl-0.603/t/additional-tests-draft2020-12 against draft2020-12...
# 
ok 1 - anchor.json: "non-schema object containing an $anchor property" - "skip traversing definition for a valid result" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 2 - anchor.json: "non-schema object containing an $anchor property" - "const at const_not_anchor does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/const_not_anchor/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/const_not_anchor/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 3 - annotation-collection.json: "annotations come from an allOf, unevaluated is a sibling" - "properties evaluated from allOf" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 4 - annotation-collection.json: "annotations come from an allOf, unevaluated is a sibling" - "extra property" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 5 - annotation-collection.json: "annotations from adjacent keywords, unevaluated is a sibling" - "properties evaluated from additionalProperties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 6 - annotation-collection.json: "annotations from adjacent keywords, unevaluated is a sibling" - "extra property" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 7 - annotation-collection.json: "annotations come from an allOf, unevaluated is in an allOf" - "properties evaluated from allOf, but unevaluated is buried" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 8 - annotation-collection.json: "annotations come from an allOf, unevaluated is in an allOf" - "no properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 9 - annotation-collection.json: "annotations from adjacent keywords, unevaluated is in an allOf" - "properties evaluated from additionalProperties, but unevaluated is buried" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 10 - annotation-collection.json: "annotations from adjacent keywords, unevaluated is in an allOf" - "no properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 11 - annotation-collection.json: "collect annotations inside a 'not', even if collection is disabled" - "unevaluated property" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 12 - annotation-collection.json: "collect annotations inside a 'not', even if collection is disabled" - "annotations are still collected inside a 'not'" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 13 - badRef.json: "good references in schemas" - "this data is never used" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 14 - badRef.json: "bad $ref in schema: not a valid anchor fragment" - "this data is never used" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 15 - badRef.json: "bad $ref in schema: not a valid json pointer fragment" - "this data is never used" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 16 - dynamicRef.json: "after leaving a dynamic scope, it should not be used by a $dynamicRef" - "string matches /$defs/thingy, but the $dynamicRef does not stop here" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "second_scope#/$defs/thingy/type",
    #       "error": "got string, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/$ref/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "main#/then",
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "second_scope#/$defs/thingy/type",
    #       "error": "got string, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/$ref/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "main#/then",
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 17 - dynamicRef.json: "after leaving a dynamic scope, it should not be used by a $dynamicRef" - "first_scope is not in dynamic scope for the $dynamicRef" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "second_scope#/$defs/thingy/type",
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/$ref/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "main#/then",
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "second_scope#/$defs/thingy/type",
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/$ref/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "main#/then",
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 18 - dynamicRef.json: "after leaving a dynamic scope, it should not be used by a $dynamicRef" - "value validates against /then/$defs/thingy, the final stop for the $dynamicRef" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 19 - dynamicRef.json: "schema in dynamic scope must have a $dynamicAnchor that matches the fragment" - "value would fail under either subschema" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "orig#/minimum",
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$dynamicRef/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "orig#/minimum",
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$dynamicRef/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 20 - dynamicRef.json: "schema in dynamic scope must have a $dynamicAnchor that matches the fragment" - "$anchor does not match $dynamicAnchor; original subschema is used" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 21 - dynamicRef.json: "$dynamicRef points to a boolean schema" - "follow $dynamicRef to a true schema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 22 - dynamicRef.json: "$dynamicRef points to a boolean schema" - "follow $dynamicRef to a false schema" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/false",
    #       "error": "subschema is false",
    #       "instanceLocation": "/false",
    #       "keywordLocation": "/properties/false/$dynamicRef"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/false",
    #       "error": "subschema is false",
    #       "instanceLocation": "/false",
    #       "keywordLocation": "/properties/false/$dynamicRef"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 23 - faux-buggy-schemas.json: "identifiers in non-schemas that look like schemas" - "match the type checks" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 24 - faux-buggy-schemas.json: "identifiers in non-schemas that look like schemas" - "match none of the options" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/0/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/1/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/2/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/2/const"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/enum.json#/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/3/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/0/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/1/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/2/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/2/const"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/enum.json#/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/3/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 25 - format-duration.json: "validation of duration strings" - "years and months can appear without days" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 26 - format-duration.json: "validation of duration strings" - "months and days can appear without years" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 27 - format-duration.json: "validation of duration strings" - "hours and minutes can appear without seconds" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 28 - format-duration.json: "validation of duration strings" - "minutes and seconds can appear without hour" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 29 - format-duration.json: "validation of duration strings" - "elements may be omitted if their value is zero" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 30 - format-duration.json: "validation of duration strings" - "half a year duration, with full stop decimal point" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 31 - format-duration.json: "validation of duration strings" - "half a year duration, with comma decimal point" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 32 - format-duration.json: "validation of duration strings" - "only one unit can have a non-integer quantity" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 33 - format-duration.json: "validation of duration strings" - "only the smallest unit can have a non-integer quantity" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 34 - format-ipv4.json: "validation of ipv4 strings" - "leading zeroes should be rejected, as they are treated as octal values" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 35 - format-ipv4.json: "validation of ipv4 strings" - "leading zeroes should be rejected, even if not a valid octal value" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 36 - format-ipv4.json: "validation of ipv4 strings" - "value without leading zero is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 37 - format-ipv4.json: "validation of ipv4 strings" - "non-ascii digits should be rejected" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 38 - format-ipv6.json: "validation of ipv6 strings" - "fully expanded with zeroes" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 39 - format-ipv6.json: "validation of ipv6 strings" - "partially collapsed zeroes" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 40 - format-ipv6.json: "validation of ipv6 strings" - "4,2 zeroes" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 41 - format-ipv6.json: "validation of ipv6 strings" - "8 single zeroes, no double colon" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 42 - format-ipv6.json: "validation of ipv6 strings" - "7 single zeroes, leading double colon" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 43 - format-ipv6.json: "validation of ipv6 strings" - "6 single zeroes, leading double colon" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 44 - format-ipv6.json: "validation of ipv6 strings" - "5 single zeroes, leading double colon" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 45 - format-ipv6.json: "validation of ipv6 strings" - "4 single zeroes, leading double colon" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 46 - format-ipv6.json: "validation of ipv6 strings" - "3 single zeroes, leading double colon" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 47 - format-ipv6.json: "validation of ipv6 strings" - "2 single zeroes, leading double colon" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 48 - format-ipv6.json: "validation of ipv6 strings" - "1 single zero, leading double colon" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 49 - format-ipv6.json: "validation of ipv6 strings" - "1 single zero, trailing double colon" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 50 - format-ipv6.json: "validation of ipv6 strings" - "2 leading colons with 8 zeroes" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 51 - format-ipv6.json: "validation of ipv6 strings" - "1 leading colon with 8 zeroes" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 52 - format-ipv6.json: "validation of ipv6 strings" - "colons in the middle with 8 zeroes" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 53 - format-ipv6.json: "validation of ipv6 strings" - "1 trailing colon with 8 zeroes" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 54 - format-ipv6.json: "validation of ipv6 strings" - "2 trailing colons with 8 zeroes" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 55 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer with empty json-pointer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 56 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer with one-char json-pointer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 57 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer with longer json-pointer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 58 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer \#" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 59 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "\#\# is not a valid json-pointer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 60 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "zero cannot be followed by other digits, plus json-pointer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 61 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "zero cannot be followed by other digits, plus octothorpe" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 62 - formats.json: "format validation after a $ref" - "invalid duration" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/my_format/format",
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/my_format/format",
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 63 - formats.json: "format validation after a $ref" - "valid duration" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 64 - formats.json: "format validation after an $id" - "invalid duration" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "bloop#/allOf/0/format",
    #       "error": "not a valid duration",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/allOf/0/format"
    #     },
    #     {
    #       "absoluteKeywordLocation": "bloop#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/allOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "bloop#/allOf/0/format",
    #       "error": "not a valid duration",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/allOf/0/format"
    #     },
    #     {
    #       "absoluteKeywordLocation": "bloop#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/allOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 65 - formats.json: "format validation after an $id" - "valid duration" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 66 - id.json: "non-schema object containing an $id property" - "skip traversing definition for a valid result" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 67 - id.json: "non-schema object containing an $id property" - "const at const_not_id does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/const_not_id/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/const_not_id/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 68 - id.json: "'' not permitted as $id" - "schema would pass without $id" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$id cannot be empty",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$id"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$id cannot be empty",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$id"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 69 - id.json: "'' not permitted as $id" - "schema would fail even without $id" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$id cannot be empty",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$id"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$id cannot be empty",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$id"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 70 - id.json: "'\#' not permitted as $id" - "schema would pass without $id" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$id cannot be empty",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$id"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$id cannot be empty",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$id"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 71 - id.json: "'\#' not permitted as $id" - "schema would fail even without $id" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$id cannot be empty",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$id"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$id cannot be empty",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$id"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 72 - integers.json: "type checks" - "beyond int64 lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 73 - integers.json: "type checks" - "int64 lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 74 - integers.json: "type checks" - "beyond int32 lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 75 - integers.json: "type checks" - "int32 lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 76 - integers.json: "type checks" - "zero" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 77 - integers.json: "type checks" - "int32 upper boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 78 - integers.json: "type checks" - "beyond int32 upper boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 79 - integers.json: "type checks" - "upper int64 boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 80 - integers.json: "type checks" - "beyond int64 upper boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 81 - integers.json: "int32 range checks" - "beyond lower boundary" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -2147483648",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -2147483648",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 82 - integers.json: "int32 range checks" - "lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 83 - integers.json: "int32 range checks" - "zero" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 84 - integers.json: "int32 range checks" - "upper boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 85 - integers.json: "int32 range checks" - "beyond upper boundary" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2147483647",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2147483647",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 86 - integers.json: "int64 range checks" - "beyond lower boundary" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -9223372036854775808",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -9223372036854775808",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 87 - integers.json: "int64 range checks" - "lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 88 - integers.json: "int64 range checks" - "zero" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 89 - integers.json: "int64 range checks" - "upper boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 90 - integers.json: "int64 range checks" - "beyond upper boundary" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 9223372036854775807",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 9223372036854775807",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 91 - integers.json: "equality checks" - "beyond int64 lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 92 - integers.json: "equality checks" - "int64 lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 93 - integers.json: "equality checks" - "beyond int32 lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 94 - integers.json: "equality checks" - "int32 lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 95 - integers.json: "equality checks" - "zero" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 96 - integers.json: "equality checks" - "one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 97 - integers.json: "equality checks" - "int32 upper boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 98 - integers.json: "equality checks" - "beyond int32 upper boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 99 - integers.json: "equality checks" - "int64 upper boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 100 - integers.json: "equality checks" - "beyond int64 upper boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 101 - keyword-independence.json: "contains + exclusiveMaximum" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 102 - keyword-independence.json: "contains + exclusiveMaximum" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 103 - keyword-independence.json: "contains + exclusiveMaximum" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 104 - keyword-independence.json: "contains + exclusiveMaximum" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 105 - keyword-independence.json: "contains + exclusiveMinimum" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 106 - keyword-independence.json: "contains + exclusiveMinimum" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 107 - keyword-independence.json: "contains + exclusiveMinimum" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 108 - keyword-independence.json: "contains + exclusiveMinimum" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 109 - keyword-independence.json: "contains + maximum" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 110 - keyword-independence.json: "contains + maximum" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 111 - keyword-independence.json: "contains + maximum" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 112 - keyword-independence.json: "contains + maximum" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 113 - keyword-independence.json: "contains + minimum" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 114 - keyword-independence.json: "contains + minimum" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 115 - keyword-independence.json: "contains + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 116 - keyword-independence.json: "contains + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 117 - keyword-independence.json: "contains + multipleOf" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 118 - keyword-independence.json: "contains + multipleOf" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 119 - keyword-independence.json: "contains + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 120 - keyword-independence.json: "contains + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 121 - keyword-independence.json: "exclusiveMaximum + items" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 122 - keyword-independence.json: "exclusiveMaximum + items" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 123 - keyword-independence.json: "exclusiveMaximum + items" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 124 - keyword-independence.json: "exclusiveMaximum + items" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 125 - keyword-independence.json: "exclusiveMinimum + items" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 126 - keyword-independence.json: "exclusiveMinimum + items" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 127 - keyword-independence.json: "exclusiveMinimum + items" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 128 - keyword-independence.json: "exclusiveMinimum + items" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 129 - keyword-independence.json: "items + maximum" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 130 - keyword-independence.json: "items + maximum" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 131 - keyword-independence.json: "items + maximum" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 132 - keyword-independence.json: "items + maximum" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 133 - keyword-independence.json: "items + minimum" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 134 - keyword-independence.json: "items + minimum" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 135 - keyword-independence.json: "items + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 136 - keyword-independence.json: "items + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 137 - keyword-independence.json: "items + multipleOf" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 138 - keyword-independence.json: "items + multipleOf" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 139 - keyword-independence.json: "items + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 140 - keyword-independence.json: "items + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 141 - keyword-independence.json: "exclusiveMaximum + maxItems" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 142 - keyword-independence.json: "exclusiveMaximum + maxItems" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 143 - keyword-independence.json: "exclusiveMaximum + maxItems" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 144 - keyword-independence.json: "exclusiveMaximum + maxItems" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 145 - keyword-independence.json: "exclusiveMinimum + maxItems" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 146 - keyword-independence.json: "exclusiveMinimum + maxItems" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 147 - keyword-independence.json: "exclusiveMinimum + maxItems" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 148 - keyword-independence.json: "exclusiveMinimum + maxItems" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 149 - keyword-independence.json: "maxItems + maximum" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 150 - keyword-independence.json: "maxItems + maximum" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 151 - keyword-independence.json: "maxItems + maximum" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 152 - keyword-independence.json: "maxItems + maximum" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 153 - keyword-independence.json: "maxItems + minimum" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 154 - keyword-independence.json: "maxItems + minimum" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 155 - keyword-independence.json: "maxItems + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 156 - keyword-independence.json: "maxItems + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 157 - keyword-independence.json: "maxItems + multipleOf" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 158 - keyword-independence.json: "maxItems + multipleOf" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 159 - keyword-independence.json: "maxItems + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 160 - keyword-independence.json: "maxItems + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 161 - keyword-independence.json: "exclusiveMaximum + minItems" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 162 - keyword-independence.json: "exclusiveMaximum + minItems" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 163 - keyword-independence.json: "exclusiveMaximum + minItems" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 164 - keyword-independence.json: "exclusiveMaximum + minItems" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 165 - keyword-independence.json: "exclusiveMinimum + minItems" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 166 - keyword-independence.json: "exclusiveMinimum + minItems" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 167 - keyword-independence.json: "exclusiveMinimum + minItems" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 168 - keyword-independence.json: "exclusiveMinimum + minItems" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 169 - keyword-independence.json: "maximum + minItems" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 170 - keyword-independence.json: "maximum + minItems" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 171 - keyword-independence.json: "maximum + minItems" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 172 - keyword-independence.json: "maximum + minItems" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 173 - keyword-independence.json: "minItems + minimum" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 174 - keyword-independence.json: "minItems + minimum" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 175 - keyword-independence.json: "minItems + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 176 - keyword-independence.json: "minItems + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 177 - keyword-independence.json: "minItems + multipleOf" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 178 - keyword-independence.json: "minItems + multipleOf" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 179 - keyword-independence.json: "minItems + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 180 - keyword-independence.json: "minItems + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 181 - keyword-independence.json: "exclusiveMaximum + prefixItems" - "array, prefixItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 182 - keyword-independence.json: "exclusiveMaximum + prefixItems" - "array, prefixItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 183 - keyword-independence.json: "exclusiveMaximum + prefixItems" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 184 - keyword-independence.json: "exclusiveMaximum + prefixItems" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 185 - keyword-independence.json: "exclusiveMinimum + prefixItems" - "array, prefixItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 186 - keyword-independence.json: "exclusiveMinimum + prefixItems" - "array, prefixItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 187 - keyword-independence.json: "exclusiveMinimum + prefixItems" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 188 - keyword-independence.json: "exclusiveMinimum + prefixItems" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 189 - keyword-independence.json: "maximum + prefixItems" - "array, prefixItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 190 - keyword-independence.json: "maximum + prefixItems" - "array, prefixItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 191 - keyword-independence.json: "maximum + prefixItems" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 192 - keyword-independence.json: "maximum + prefixItems" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 193 - keyword-independence.json: "minimum + prefixItems" - "array, prefixItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 194 - keyword-independence.json: "minimum + prefixItems" - "array, prefixItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 195 - keyword-independence.json: "minimum + prefixItems" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 196 - keyword-independence.json: "minimum + prefixItems" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 197 - keyword-independence.json: "multipleOf + prefixItems" - "array, prefixItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 198 - keyword-independence.json: "multipleOf + prefixItems" - "array, prefixItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 199 - keyword-independence.json: "multipleOf + prefixItems" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 200 - keyword-independence.json: "multipleOf + prefixItems" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 201 - keyword-independence.json: "exclusiveMaximum + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 202 - keyword-independence.json: "exclusiveMaximum + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 203 - keyword-independence.json: "exclusiveMaximum + unevaluatedItems" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 204 - keyword-independence.json: "exclusiveMaximum + unevaluatedItems" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 205 - keyword-independence.json: "exclusiveMinimum + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 206 - keyword-independence.json: "exclusiveMinimum + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 207 - keyword-independence.json: "exclusiveMinimum + unevaluatedItems" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 208 - keyword-independence.json: "exclusiveMinimum + unevaluatedItems" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 209 - keyword-independence.json: "maximum + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 210 - keyword-independence.json: "maximum + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 211 - keyword-independence.json: "maximum + unevaluatedItems" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 212 - keyword-independence.json: "maximum + unevaluatedItems" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 213 - keyword-independence.json: "minimum + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 214 - keyword-independence.json: "minimum + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 215 - keyword-independence.json: "minimum + unevaluatedItems" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 216 - keyword-independence.json: "minimum + unevaluatedItems" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 217 - keyword-independence.json: "multipleOf + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 218 - keyword-independence.json: "multipleOf + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 219 - keyword-independence.json: "multipleOf + unevaluatedItems" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 220 - keyword-independence.json: "multipleOf + unevaluatedItems" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 221 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 222 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 223 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 224 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 225 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 226 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 227 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 228 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 229 - keyword-independence.json: "maximum + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 230 - keyword-independence.json: "maximum + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 231 - keyword-independence.json: "maximum + uniqueItems" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 232 - keyword-independence.json: "maximum + uniqueItems" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 233 - keyword-independence.json: "minimum + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 234 - keyword-independence.json: "minimum + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 235 - keyword-independence.json: "minimum + uniqueItems" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 236 - keyword-independence.json: "minimum + uniqueItems" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 237 - keyword-independence.json: "multipleOf + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 238 - keyword-independence.json: "multipleOf + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 239 - keyword-independence.json: "multipleOf + uniqueItems" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 240 - keyword-independence.json: "multipleOf + uniqueItems" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 241 - keyword-independence.json: "additionalProperties + contains" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 242 - keyword-independence.json: "additionalProperties + contains" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 243 - keyword-independence.json: "additionalProperties + contains" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 244 - keyword-independence.json: "additionalProperties + contains" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 245 - keyword-independence.json: "contains + dependentRequired" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 246 - keyword-independence.json: "contains + dependentRequired" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 247 - keyword-independence.json: "contains + dependentRequired" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 248 - keyword-independence.json: "contains + dependentRequired" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 249 - keyword-independence.json: "contains + dependentSchemas" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 250 - keyword-independence.json: "contains + dependentSchemas" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 251 - keyword-independence.json: "contains + dependentSchemas" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 252 - keyword-independence.json: "contains + dependentSchemas" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 253 - keyword-independence.json: "contains + maxProperties" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 254 - keyword-independence.json: "contains + maxProperties" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 255 - keyword-independence.json: "contains + maxProperties" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 256 - keyword-independence.json: "contains + maxProperties" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 257 - keyword-independence.json: "contains + minProperties" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 258 - keyword-independence.json: "contains + minProperties" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 259 - keyword-independence.json: "contains + minProperties" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 260 - keyword-independence.json: "contains + minProperties" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 261 - keyword-independence.json: "contains + patternProperties" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 262 - keyword-independence.json: "contains + patternProperties" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 263 - keyword-independence.json: "contains + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 264 - keyword-independence.json: "contains + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 265 - keyword-independence.json: "contains + properties" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 266 - keyword-independence.json: "contains + properties" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 267 - keyword-independence.json: "contains + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 268 - keyword-independence.json: "contains + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 269 - keyword-independence.json: "contains + propertyNames" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 270 - keyword-independence.json: "contains + propertyNames" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 271 - keyword-independence.json: "contains + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 272 - keyword-independence.json: "contains + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 273 - keyword-independence.json: "contains + required" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 274 - keyword-independence.json: "contains + required" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 275 - keyword-independence.json: "contains + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 276 - keyword-independence.json: "contains + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 277 - keyword-independence.json: "contains + unevaluatedProperties" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 278 - keyword-independence.json: "contains + unevaluatedProperties" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 279 - keyword-independence.json: "contains + unevaluatedProperties" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 280 - keyword-independence.json: "contains + unevaluatedProperties" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 281 - keyword-independence.json: "additionalProperties + items" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 282 - keyword-independence.json: "additionalProperties + items" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 283 - keyword-independence.json: "additionalProperties + items" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 284 - keyword-independence.json: "additionalProperties + items" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 285 - keyword-independence.json: "dependentRequired + items" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 286 - keyword-independence.json: "dependentRequired + items" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 287 - keyword-independence.json: "dependentRequired + items" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 288 - keyword-independence.json: "dependentRequired + items" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 289 - keyword-independence.json: "dependentSchemas + items" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 290 - keyword-independence.json: "dependentSchemas + items" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 291 - keyword-independence.json: "dependentSchemas + items" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 292 - keyword-independence.json: "dependentSchemas + items" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 293 - keyword-independence.json: "items + maxProperties" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 294 - keyword-independence.json: "items + maxProperties" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 295 - keyword-independence.json: "items + maxProperties" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 296 - keyword-independence.json: "items + maxProperties" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 297 - keyword-independence.json: "items + minProperties" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 298 - keyword-independence.json: "items + minProperties" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 299 - keyword-independence.json: "items + minProperties" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 300 - keyword-independence.json: "items + minProperties" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 301 - keyword-independence.json: "items + patternProperties" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 302 - keyword-independence.json: "items + patternProperties" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 303 - keyword-independence.json: "items + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 304 - keyword-independence.json: "items + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 305 - keyword-independence.json: "items + properties" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 306 - keyword-independence.json: "items + properties" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 307 - keyword-independence.json: "items + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 308 - keyword-independence.json: "items + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 309 - keyword-independence.json: "items + propertyNames" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 310 - keyword-independence.json: "items + propertyNames" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 311 - keyword-independence.json: "items + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 312 - keyword-independence.json: "items + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 313 - keyword-independence.json: "items + required" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 314 - keyword-independence.json: "items + required" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 315 - keyword-independence.json: "items + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 316 - keyword-independence.json: "items + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 317 - keyword-independence.json: "items + unevaluatedProperties" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 318 - keyword-independence.json: "items + unevaluatedProperties" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 319 - keyword-independence.json: "items + unevaluatedProperties" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 320 - keyword-independence.json: "items + unevaluatedProperties" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 321 - keyword-independence.json: "additionalProperties + maxItems" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 322 - keyword-independence.json: "additionalProperties + maxItems" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 323 - keyword-independence.json: "additionalProperties + maxItems" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 324 - keyword-independence.json: "additionalProperties + maxItems" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 325 - keyword-independence.json: "dependentRequired + maxItems" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 326 - keyword-independence.json: "dependentRequired + maxItems" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 327 - keyword-independence.json: "dependentRequired + maxItems" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 328 - keyword-independence.json: "dependentRequired + maxItems" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 329 - keyword-independence.json: "dependentSchemas + maxItems" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 330 - keyword-independence.json: "dependentSchemas + maxItems" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 331 - keyword-independence.json: "dependentSchemas + maxItems" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 332 - keyword-independence.json: "dependentSchemas + maxItems" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 333 - keyword-independence.json: "maxItems + maxProperties" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 334 - keyword-independence.json: "maxItems + maxProperties" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 335 - keyword-independence.json: "maxItems + maxProperties" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 336 - keyword-independence.json: "maxItems + maxProperties" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 337 - keyword-independence.json: "maxItems + minProperties" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 338 - keyword-independence.json: "maxItems + minProperties" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 339 - keyword-independence.json: "maxItems + minProperties" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 340 - keyword-independence.json: "maxItems + minProperties" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 341 - keyword-independence.json: "maxItems + patternProperties" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 342 - keyword-independence.json: "maxItems + patternProperties" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 343 - keyword-independence.json: "maxItems + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 344 - keyword-independence.json: "maxItems + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 345 - keyword-independence.json: "maxItems + properties" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 346 - keyword-independence.json: "maxItems + properties" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 347 - keyword-independence.json: "maxItems + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 348 - keyword-independence.json: "maxItems + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 349 - keyword-independence.json: "maxItems + propertyNames" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 350 - keyword-independence.json: "maxItems + propertyNames" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 351 - keyword-independence.json: "maxItems + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 352 - keyword-independence.json: "maxItems + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 353 - keyword-independence.json: "maxItems + required" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 354 - keyword-independence.json: "maxItems + required" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 355 - keyword-independence.json: "maxItems + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 356 - keyword-independence.json: "maxItems + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 357 - keyword-independence.json: "maxItems + unevaluatedProperties" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 358 - keyword-independence.json: "maxItems + unevaluatedProperties" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 359 - keyword-independence.json: "maxItems + unevaluatedProperties" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 360 - keyword-independence.json: "maxItems + unevaluatedProperties" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 361 - keyword-independence.json: "additionalProperties + minItems" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 362 - keyword-independence.json: "additionalProperties + minItems" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 363 - keyword-independence.json: "additionalProperties + minItems" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 364 - keyword-independence.json: "additionalProperties + minItems" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 365 - keyword-independence.json: "dependentRequired + minItems" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 366 - keyword-independence.json: "dependentRequired + minItems" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 367 - keyword-independence.json: "dependentRequired + minItems" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 368 - keyword-independence.json: "dependentRequired + minItems" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 369 - keyword-independence.json: "dependentSchemas + minItems" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 370 - keyword-independence.json: "dependentSchemas + minItems" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 371 - keyword-independence.json: "dependentSchemas + minItems" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 372 - keyword-independence.json: "dependentSchemas + minItems" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 373 - keyword-independence.json: "maxProperties + minItems" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 374 - keyword-independence.json: "maxProperties + minItems" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 375 - keyword-independence.json: "maxProperties + minItems" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 376 - keyword-independence.json: "maxProperties + minItems" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 377 - keyword-independence.json: "minItems + minProperties" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 378 - keyword-independence.json: "minItems + minProperties" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 379 - keyword-independence.json: "minItems + minProperties" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 380 - keyword-independence.json: "minItems + minProperties" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 381 - keyword-independence.json: "minItems + patternProperties" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 382 - keyword-independence.json: "minItems + patternProperties" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 383 - keyword-independence.json: "minItems + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 384 - keyword-independence.json: "minItems + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 385 - keyword-independence.json: "minItems + properties" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 386 - keyword-independence.json: "minItems + properties" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 387 - keyword-independence.json: "minItems + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 388 - keyword-independence.json: "minItems + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 389 - keyword-independence.json: "minItems + propertyNames" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 390 - keyword-independence.json: "minItems + propertyNames" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 391 - keyword-independence.json: "minItems + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 392 - keyword-independence.json: "minItems + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 393 - keyword-independence.json: "minItems + required" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 394 - keyword-independence.json: "minItems + required" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 395 - keyword-independence.json: "minItems + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 396 - keyword-independence.json: "minItems + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 397 - keyword-independence.json: "minItems + unevaluatedProperties" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 398 - keyword-independence.json: "minItems + unevaluatedProperties" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 399 - keyword-independence.json: "minItems + unevaluatedProperties" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 400 - keyword-independence.json: "minItems + unevaluatedProperties" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 401 - keyword-independence.json: "additionalProperties + prefixItems" - "array, prefixItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 402 - keyword-independence.json: "additionalProperties + prefixItems" - "array, prefixItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 403 - keyword-independence.json: "additionalProperties + prefixItems" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 404 - keyword-independence.json: "additionalProperties + prefixItems" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 405 - keyword-independence.json: "dependentRequired + prefixItems" - "array, prefixItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 406 - keyword-independence.json: "dependentRequired + prefixItems" - "array, prefixItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 407 - keyword-independence.json: "dependentRequired + prefixItems" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 408 - keyword-independence.json: "dependentRequired + prefixItems" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 409 - keyword-independence.json: "dependentSchemas + prefixItems" - "array, prefixItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 410 - keyword-independence.json: "dependentSchemas + prefixItems" - "array, prefixItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 411 - keyword-independence.json: "dependentSchemas + prefixItems" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 412 - keyword-independence.json: "dependentSchemas + prefixItems" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 413 - keyword-independence.json: "maxProperties + prefixItems" - "array, prefixItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 414 - keyword-independence.json: "maxProperties + prefixItems" - "array, prefixItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 415 - keyword-independence.json: "maxProperties + prefixItems" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 416 - keyword-independence.json: "maxProperties + prefixItems" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 417 - keyword-independence.json: "minProperties + prefixItems" - "array, prefixItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 418 - keyword-independence.json: "minProperties + prefixItems" - "array, prefixItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 419 - keyword-independence.json: "minProperties + prefixItems" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 420 - keyword-independence.json: "minProperties + prefixItems" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 421 - keyword-independence.json: "patternProperties + prefixItems" - "array, prefixItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 422 - keyword-independence.json: "patternProperties + prefixItems" - "array, prefixItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 423 - keyword-independence.json: "patternProperties + prefixItems" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 424 - keyword-independence.json: "patternProperties + prefixItems" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 425 - keyword-independence.json: "prefixItems + properties" - "array, prefixItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 426 - keyword-independence.json: "prefixItems + properties" - "array, prefixItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 427 - keyword-independence.json: "prefixItems + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 428 - keyword-independence.json: "prefixItems + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 429 - keyword-independence.json: "prefixItems + propertyNames" - "array, prefixItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 430 - keyword-independence.json: "prefixItems + propertyNames" - "array, prefixItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 431 - keyword-independence.json: "prefixItems + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 432 - keyword-independence.json: "prefixItems + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 433 - keyword-independence.json: "prefixItems + required" - "array, prefixItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 434 - keyword-independence.json: "prefixItems + required" - "array, prefixItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 435 - keyword-independence.json: "prefixItems + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 436 - keyword-independence.json: "prefixItems + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 437 - keyword-independence.json: "prefixItems + unevaluatedProperties" - "array, prefixItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 438 - keyword-independence.json: "prefixItems + unevaluatedProperties" - "array, prefixItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 439 - keyword-independence.json: "prefixItems + unevaluatedProperties" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 440 - keyword-independence.json: "prefixItems + unevaluatedProperties" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 441 - keyword-independence.json: "additionalProperties + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 442 - keyword-independence.json: "additionalProperties + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 443 - keyword-independence.json: "additionalProperties + unevaluatedItems" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 444 - keyword-independence.json: "additionalProperties + unevaluatedItems" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 445 - keyword-independence.json: "dependentRequired + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 446 - keyword-independence.json: "dependentRequired + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 447 - keyword-independence.json: "dependentRequired + unevaluatedItems" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 448 - keyword-independence.json: "dependentRequired + unevaluatedItems" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 449 - keyword-independence.json: "dependentSchemas + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 450 - keyword-independence.json: "dependentSchemas + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 451 - keyword-independence.json: "dependentSchemas + unevaluatedItems" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 452 - keyword-independence.json: "dependentSchemas + unevaluatedItems" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 453 - keyword-independence.json: "maxProperties + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 454 - keyword-independence.json: "maxProperties + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 455 - keyword-independence.json: "maxProperties + unevaluatedItems" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 456 - keyword-independence.json: "maxProperties + unevaluatedItems" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 457 - keyword-independence.json: "minProperties + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 458 - keyword-independence.json: "minProperties + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 459 - keyword-independence.json: "minProperties + unevaluatedItems" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 460 - keyword-independence.json: "minProperties + unevaluatedItems" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 461 - keyword-independence.json: "patternProperties + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 462 - keyword-independence.json: "patternProperties + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 463 - keyword-independence.json: "patternProperties + unevaluatedItems" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 464 - keyword-independence.json: "patternProperties + unevaluatedItems" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 465 - keyword-independence.json: "properties + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 466 - keyword-independence.json: "properties + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 467 - keyword-independence.json: "properties + unevaluatedItems" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 468 - keyword-independence.json: "properties + unevaluatedItems" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 469 - keyword-independence.json: "propertyNames + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 470 - keyword-independence.json: "propertyNames + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 471 - keyword-independence.json: "propertyNames + unevaluatedItems" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 472 - keyword-independence.json: "propertyNames + unevaluatedItems" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 473 - keyword-independence.json: "required + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 474 - keyword-independence.json: "required + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 475 - keyword-independence.json: "required + unevaluatedItems" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 476 - keyword-independence.json: "required + unevaluatedItems" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 477 - keyword-independence.json: "unevaluatedItems + unevaluatedProperties" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 478 - keyword-independence.json: "unevaluatedItems + unevaluatedProperties" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 479 - keyword-independence.json: "unevaluatedItems + unevaluatedProperties" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 480 - keyword-independence.json: "unevaluatedItems + unevaluatedProperties" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 481 - keyword-independence.json: "additionalProperties + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 482 - keyword-independence.json: "additionalProperties + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 483 - keyword-independence.json: "additionalProperties + uniqueItems" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 484 - keyword-independence.json: "additionalProperties + uniqueItems" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 485 - keyword-independence.json: "dependentRequired + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 486 - keyword-independence.json: "dependentRequired + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 487 - keyword-independence.json: "dependentRequired + uniqueItems" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 488 - keyword-independence.json: "dependentRequired + uniqueItems" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 489 - keyword-independence.json: "dependentSchemas + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 490 - keyword-independence.json: "dependentSchemas + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 491 - keyword-independence.json: "dependentSchemas + uniqueItems" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 492 - keyword-independence.json: "dependentSchemas + uniqueItems" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 493 - keyword-independence.json: "maxProperties + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 494 - keyword-independence.json: "maxProperties + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 495 - keyword-independence.json: "maxProperties + uniqueItems" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 496 - keyword-independence.json: "maxProperties + uniqueItems" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 497 - keyword-independence.json: "minProperties + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 498 - keyword-independence.json: "minProperties + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 499 - keyword-independence.json: "minProperties + uniqueItems" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 500 - keyword-independence.json: "minProperties + uniqueItems" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 501 - keyword-independence.json: "patternProperties + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 502 - keyword-independence.json: "patternProperties + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 503 - keyword-independence.json: "patternProperties + uniqueItems" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 504 - keyword-independence.json: "patternProperties + uniqueItems" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 505 - keyword-independence.json: "properties + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 506 - keyword-independence.json: "properties + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 507 - keyword-independence.json: "properties + uniqueItems" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 508 - keyword-independence.json: "properties + uniqueItems" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 509 - keyword-independence.json: "propertyNames + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 510 - keyword-independence.json: "propertyNames + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 511 - keyword-independence.json: "propertyNames + uniqueItems" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 512 - keyword-independence.json: "propertyNames + uniqueItems" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 513 - keyword-independence.json: "required + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 514 - keyword-independence.json: "required + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 515 - keyword-independence.json: "required + uniqueItems" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 516 - keyword-independence.json: "required + uniqueItems" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 517 - keyword-independence.json: "unevaluatedProperties + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 518 - keyword-independence.json: "unevaluatedProperties + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 519 - keyword-independence.json: "unevaluatedProperties + uniqueItems" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 520 - keyword-independence.json: "unevaluatedProperties + uniqueItems" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 521 - keyword-independence.json: "contains + maxLength" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 522 - keyword-independence.json: "contains + maxLength" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 523 - keyword-independence.json: "contains + maxLength" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 524 - keyword-independence.json: "contains + maxLength" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 525 - keyword-independence.json: "contains + minLength" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 526 - keyword-independence.json: "contains + minLength" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 527 - keyword-independence.json: "contains + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 528 - keyword-independence.json: "contains + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 529 - keyword-independence.json: "contains + pattern" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 530 - keyword-independence.json: "contains + pattern" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 531 - keyword-independence.json: "contains + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 532 - keyword-independence.json: "contains + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 533 - keyword-independence.json: "items + maxLength" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 534 - keyword-independence.json: "items + maxLength" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 535 - keyword-independence.json: "items + maxLength" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 536 - keyword-independence.json: "items + maxLength" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 537 - keyword-independence.json: "items + minLength" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 538 - keyword-independence.json: "items + minLength" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 539 - keyword-independence.json: "items + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 540 - keyword-independence.json: "items + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 541 - keyword-independence.json: "items + pattern" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 542 - keyword-independence.json: "items + pattern" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 543 - keyword-independence.json: "items + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 544 - keyword-independence.json: "items + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 545 - keyword-independence.json: "maxItems + maxLength" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 546 - keyword-independence.json: "maxItems + maxLength" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 547 - keyword-independence.json: "maxItems + maxLength" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 548 - keyword-independence.json: "maxItems + maxLength" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 549 - keyword-independence.json: "maxItems + minLength" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 550 - keyword-independence.json: "maxItems + minLength" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 551 - keyword-independence.json: "maxItems + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 552 - keyword-independence.json: "maxItems + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 553 - keyword-independence.json: "maxItems + pattern" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 554 - keyword-independence.json: "maxItems + pattern" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 555 - keyword-independence.json: "maxItems + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 556 - keyword-independence.json: "maxItems + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 557 - keyword-independence.json: "maxLength + minItems" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 558 - keyword-independence.json: "maxLength + minItems" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 559 - keyword-independence.json: "maxLength + minItems" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 560 - keyword-independence.json: "maxLength + minItems" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 561 - keyword-independence.json: "minItems + minLength" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 562 - keyword-independence.json: "minItems + minLength" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 563 - keyword-independence.json: "minItems + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 564 - keyword-independence.json: "minItems + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 565 - keyword-independence.json: "minItems + pattern" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 566 - keyword-independence.json: "minItems + pattern" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 567 - keyword-independence.json: "minItems + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 568 - keyword-independence.json: "minItems + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 569 - keyword-independence.json: "maxLength + prefixItems" - "array, prefixItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 570 - keyword-independence.json: "maxLength + prefixItems" - "array, prefixItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 571 - keyword-independence.json: "maxLength + prefixItems" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 572 - keyword-independence.json: "maxLength + prefixItems" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 573 - keyword-independence.json: "minLength + prefixItems" - "array, prefixItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 574 - keyword-independence.json: "minLength + prefixItems" - "array, prefixItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 575 - keyword-independence.json: "minLength + prefixItems" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 576 - keyword-independence.json: "minLength + prefixItems" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 577 - keyword-independence.json: "pattern + prefixItems" - "array, prefixItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 578 - keyword-independence.json: "pattern + prefixItems" - "array, prefixItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 579 - keyword-independence.json: "pattern + prefixItems" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 580 - keyword-independence.json: "pattern + prefixItems" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 581 - keyword-independence.json: "maxLength + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 582 - keyword-independence.json: "maxLength + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 583 - keyword-independence.json: "maxLength + unevaluatedItems" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 584 - keyword-independence.json: "maxLength + unevaluatedItems" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 585 - keyword-independence.json: "minLength + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 586 - keyword-independence.json: "minLength + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 587 - keyword-independence.json: "minLength + unevaluatedItems" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 588 - keyword-independence.json: "minLength + unevaluatedItems" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 589 - keyword-independence.json: "pattern + unevaluatedItems" - "array, unevaluatedItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 590 - keyword-independence.json: "pattern + unevaluatedItems" - "array, unevaluatedItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 591 - keyword-independence.json: "pattern + unevaluatedItems" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 592 - keyword-independence.json: "pattern + unevaluatedItems" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 593 - keyword-independence.json: "maxLength + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 594 - keyword-independence.json: "maxLength + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 595 - keyword-independence.json: "maxLength + uniqueItems" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 596 - keyword-independence.json: "maxLength + uniqueItems" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 597 - keyword-independence.json: "minLength + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 598 - keyword-independence.json: "minLength + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 599 - keyword-independence.json: "minLength + uniqueItems" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 600 - keyword-independence.json: "minLength + uniqueItems" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 601 - keyword-independence.json: "pattern + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 602 - keyword-independence.json: "pattern + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 603 - keyword-independence.json: "pattern + uniqueItems" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 604 - keyword-independence.json: "pattern + uniqueItems" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 605 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 606 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 607 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 608 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 609 - keyword-independence.json: "dependentRequired + exclusiveMaximum" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 610 - keyword-independence.json: "dependentRequired + exclusiveMaximum" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 611 - keyword-independence.json: "dependentRequired + exclusiveMaximum" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 612 - keyword-independence.json: "dependentRequired + exclusiveMaximum" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 613 - keyword-independence.json: "dependentSchemas + exclusiveMaximum" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 614 - keyword-independence.json: "dependentSchemas + exclusiveMaximum" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 615 - keyword-independence.json: "dependentSchemas + exclusiveMaximum" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 616 - keyword-independence.json: "dependentSchemas + exclusiveMaximum" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 617 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 618 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 619 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 620 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 621 - keyword-independence.json: "exclusiveMaximum + minProperties" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 622 - keyword-independence.json: "exclusiveMaximum + minProperties" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 623 - keyword-independence.json: "exclusiveMaximum + minProperties" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 624 - keyword-independence.json: "exclusiveMaximum + minProperties" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 625 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 626 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 627 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 628 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 629 - keyword-independence.json: "exclusiveMaximum + properties" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 630 - keyword-independence.json: "exclusiveMaximum + properties" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 631 - keyword-independence.json: "exclusiveMaximum + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 632 - keyword-independence.json: "exclusiveMaximum + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 633 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 634 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 635 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 636 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 637 - keyword-independence.json: "exclusiveMaximum + required" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 638 - keyword-independence.json: "exclusiveMaximum + required" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 639 - keyword-independence.json: "exclusiveMaximum + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 640 - keyword-independence.json: "exclusiveMaximum + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 641 - keyword-independence.json: "exclusiveMaximum + unevaluatedProperties" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 642 - keyword-independence.json: "exclusiveMaximum + unevaluatedProperties" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 643 - keyword-independence.json: "exclusiveMaximum + unevaluatedProperties" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 644 - keyword-independence.json: "exclusiveMaximum + unevaluatedProperties" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 645 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 646 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 647 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 648 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 649 - keyword-independence.json: "dependentRequired + exclusiveMinimum" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 650 - keyword-independence.json: "dependentRequired + exclusiveMinimum" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 651 - keyword-independence.json: "dependentRequired + exclusiveMinimum" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 652 - keyword-independence.json: "dependentRequired + exclusiveMinimum" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 653 - keyword-independence.json: "dependentSchemas + exclusiveMinimum" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 654 - keyword-independence.json: "dependentSchemas + exclusiveMinimum" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 655 - keyword-independence.json: "dependentSchemas + exclusiveMinimum" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 656 - keyword-independence.json: "dependentSchemas + exclusiveMinimum" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 657 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 658 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 659 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 660 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 661 - keyword-independence.json: "exclusiveMinimum + minProperties" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 662 - keyword-independence.json: "exclusiveMinimum + minProperties" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 663 - keyword-independence.json: "exclusiveMinimum + minProperties" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 664 - keyword-independence.json: "exclusiveMinimum + minProperties" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 665 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 666 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 667 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 668 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 669 - keyword-independence.json: "exclusiveMinimum + properties" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 670 - keyword-independence.json: "exclusiveMinimum + properties" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 671 - keyword-independence.json: "exclusiveMinimum + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 672 - keyword-independence.json: "exclusiveMinimum + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 673 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 674 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 675 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 676 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 677 - keyword-independence.json: "exclusiveMinimum + required" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 678 - keyword-independence.json: "exclusiveMinimum + required" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 679 - keyword-independence.json: "exclusiveMinimum + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 680 - keyword-independence.json: "exclusiveMinimum + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 681 - keyword-independence.json: "exclusiveMinimum + unevaluatedProperties" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 682 - keyword-independence.json: "exclusiveMinimum + unevaluatedProperties" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 683 - keyword-independence.json: "exclusiveMinimum + unevaluatedProperties" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 684 - keyword-independence.json: "exclusiveMinimum + unevaluatedProperties" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 685 - keyword-independence.json: "additionalProperties + maximum" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 686 - keyword-independence.json: "additionalProperties + maximum" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 687 - keyword-independence.json: "additionalProperties + maximum" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 688 - keyword-independence.json: "additionalProperties + maximum" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 689 - keyword-independence.json: "dependentRequired + maximum" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 690 - keyword-independence.json: "dependentRequired + maximum" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 691 - keyword-independence.json: "dependentRequired + maximum" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 692 - keyword-independence.json: "dependentRequired + maximum" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 693 - keyword-independence.json: "dependentSchemas + maximum" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 694 - keyword-independence.json: "dependentSchemas + maximum" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 695 - keyword-independence.json: "dependentSchemas + maximum" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 696 - keyword-independence.json: "dependentSchemas + maximum" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 697 - keyword-independence.json: "maxProperties + maximum" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 698 - keyword-independence.json: "maxProperties + maximum" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 699 - keyword-independence.json: "maxProperties + maximum" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 700 - keyword-independence.json: "maxProperties + maximum" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 701 - keyword-independence.json: "maximum + minProperties" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 702 - keyword-independence.json: "maximum + minProperties" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 703 - keyword-independence.json: "maximum + minProperties" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 704 - keyword-independence.json: "maximum + minProperties" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 705 - keyword-independence.json: "maximum + patternProperties" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 706 - keyword-independence.json: "maximum + patternProperties" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 707 - keyword-independence.json: "maximum + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 708 - keyword-independence.json: "maximum + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 709 - keyword-independence.json: "maximum + properties" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 710 - keyword-independence.json: "maximum + properties" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 711 - keyword-independence.json: "maximum + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 712 - keyword-independence.json: "maximum + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 713 - keyword-independence.json: "maximum + propertyNames" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 714 - keyword-independence.json: "maximum + propertyNames" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 715 - keyword-independence.json: "maximum + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 716 - keyword-independence.json: "maximum + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 717 - keyword-independence.json: "maximum + required" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 718 - keyword-independence.json: "maximum + required" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 719 - keyword-independence.json: "maximum + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 720 - keyword-independence.json: "maximum + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 721 - keyword-independence.json: "maximum + unevaluatedProperties" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 722 - keyword-independence.json: "maximum + unevaluatedProperties" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 723 - keyword-independence.json: "maximum + unevaluatedProperties" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 724 - keyword-independence.json: "maximum + unevaluatedProperties" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 725 - keyword-independence.json: "additionalProperties + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 726 - keyword-independence.json: "additionalProperties + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 727 - keyword-independence.json: "additionalProperties + minimum" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 728 - keyword-independence.json: "additionalProperties + minimum" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 729 - keyword-independence.json: "dependentRequired + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 730 - keyword-independence.json: "dependentRequired + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 731 - keyword-independence.json: "dependentRequired + minimum" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 732 - keyword-independence.json: "dependentRequired + minimum" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 733 - keyword-independence.json: "dependentSchemas + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 734 - keyword-independence.json: "dependentSchemas + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 735 - keyword-independence.json: "dependentSchemas + minimum" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 736 - keyword-independence.json: "dependentSchemas + minimum" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 737 - keyword-independence.json: "maxProperties + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 738 - keyword-independence.json: "maxProperties + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 739 - keyword-independence.json: "maxProperties + minimum" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 740 - keyword-independence.json: "maxProperties + minimum" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 741 - keyword-independence.json: "minProperties + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 742 - keyword-independence.json: "minProperties + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 743 - keyword-independence.json: "minProperties + minimum" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 744 - keyword-independence.json: "minProperties + minimum" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 745 - keyword-independence.json: "minimum + patternProperties" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 746 - keyword-independence.json: "minimum + patternProperties" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 747 - keyword-independence.json: "minimum + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 748 - keyword-independence.json: "minimum + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 749 - keyword-independence.json: "minimum + properties" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 750 - keyword-independence.json: "minimum + properties" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 751 - keyword-independence.json: "minimum + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 752 - keyword-independence.json: "minimum + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 753 - keyword-independence.json: "minimum + propertyNames" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 754 - keyword-independence.json: "minimum + propertyNames" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 755 - keyword-independence.json: "minimum + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 756 - keyword-independence.json: "minimum + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 757 - keyword-independence.json: "minimum + required" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 758 - keyword-independence.json: "minimum + required" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 759 - keyword-independence.json: "minimum + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 760 - keyword-independence.json: "minimum + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 761 - keyword-independence.json: "minimum + unevaluatedProperties" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 762 - keyword-independence.json: "minimum + unevaluatedProperties" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 763 - keyword-independence.json: "minimum + unevaluatedProperties" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 764 - keyword-independence.json: "minimum + unevaluatedProperties" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 765 - keyword-independence.json: "additionalProperties + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 766 - keyword-independence.json: "additionalProperties + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 767 - keyword-independence.json: "additionalProperties + multipleOf" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 768 - keyword-independence.json: "additionalProperties + multipleOf" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 769 - keyword-independence.json: "dependentRequired + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 770 - keyword-independence.json: "dependentRequired + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 771 - keyword-independence.json: "dependentRequired + multipleOf" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 772 - keyword-independence.json: "dependentRequired + multipleOf" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 773 - keyword-independence.json: "dependentSchemas + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 774 - keyword-independence.json: "dependentSchemas + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 775 - keyword-independence.json: "dependentSchemas + multipleOf" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 776 - keyword-independence.json: "dependentSchemas + multipleOf" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 777 - keyword-independence.json: "maxProperties + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 778 - keyword-independence.json: "maxProperties + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 779 - keyword-independence.json: "maxProperties + multipleOf" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 780 - keyword-independence.json: "maxProperties + multipleOf" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 781 - keyword-independence.json: "minProperties + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 782 - keyword-independence.json: "minProperties + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 783 - keyword-independence.json: "minProperties + multipleOf" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 784 - keyword-independence.json: "minProperties + multipleOf" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 785 - keyword-independence.json: "multipleOf + patternProperties" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 786 - keyword-independence.json: "multipleOf + patternProperties" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 787 - keyword-independence.json: "multipleOf + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 788 - keyword-independence.json: "multipleOf + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 789 - keyword-independence.json: "multipleOf + properties" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 790 - keyword-independence.json: "multipleOf + properties" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 791 - keyword-independence.json: "multipleOf + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 792 - keyword-independence.json: "multipleOf + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 793 - keyword-independence.json: "multipleOf + propertyNames" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 794 - keyword-independence.json: "multipleOf + propertyNames" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 795 - keyword-independence.json: "multipleOf + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 796 - keyword-independence.json: "multipleOf + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 797 - keyword-independence.json: "multipleOf + required" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 798 - keyword-independence.json: "multipleOf + required" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 799 - keyword-independence.json: "multipleOf + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 800 - keyword-independence.json: "multipleOf + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 801 - keyword-independence.json: "multipleOf + unevaluatedProperties" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 802 - keyword-independence.json: "multipleOf + unevaluatedProperties" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 803 - keyword-independence.json: "multipleOf + unevaluatedProperties" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 804 - keyword-independence.json: "multipleOf + unevaluatedProperties" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 805 - keyword-independence.json: "exclusiveMaximum + maxLength" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 806 - keyword-independence.json: "exclusiveMaximum + maxLength" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 807 - keyword-independence.json: "exclusiveMaximum + maxLength" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 808 - keyword-independence.json: "exclusiveMaximum + maxLength" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 809 - keyword-independence.json: "exclusiveMaximum + minLength" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 810 - keyword-independence.json: "exclusiveMaximum + minLength" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 811 - keyword-independence.json: "exclusiveMaximum + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 812 - keyword-independence.json: "exclusiveMaximum + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 813 - keyword-independence.json: "exclusiveMaximum + pattern" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 814 - keyword-independence.json: "exclusiveMaximum + pattern" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 815 - keyword-independence.json: "exclusiveMaximum + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 816 - keyword-independence.json: "exclusiveMaximum + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 817 - keyword-independence.json: "exclusiveMinimum + maxLength" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 818 - keyword-independence.json: "exclusiveMinimum + maxLength" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 819 - keyword-independence.json: "exclusiveMinimum + maxLength" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 820 - keyword-independence.json: "exclusiveMinimum + maxLength" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 821 - keyword-independence.json: "exclusiveMinimum + minLength" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 822 - keyword-independence.json: "exclusiveMinimum + minLength" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 823 - keyword-independence.json: "exclusiveMinimum + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 824 - keyword-independence.json: "exclusiveMinimum + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 825 - keyword-independence.json: "exclusiveMinimum + pattern" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 826 - keyword-independence.json: "exclusiveMinimum + pattern" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 827 - keyword-independence.json: "exclusiveMinimum + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 828 - keyword-independence.json: "exclusiveMinimum + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 829 - keyword-independence.json: "maxLength + maximum" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 830 - keyword-independence.json: "maxLength + maximum" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 831 - keyword-independence.json: "maxLength + maximum" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 832 - keyword-independence.json: "maxLength + maximum" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 833 - keyword-independence.json: "maximum + minLength" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 834 - keyword-independence.json: "maximum + minLength" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 835 - keyword-independence.json: "maximum + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 836 - keyword-independence.json: "maximum + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 837 - keyword-independence.json: "maximum + pattern" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 838 - keyword-independence.json: "maximum + pattern" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 839 - keyword-independence.json: "maximum + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 840 - keyword-independence.json: "maximum + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 841 - keyword-independence.json: "maxLength + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 842 - keyword-independence.json: "maxLength + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 843 - keyword-independence.json: "maxLength + minimum" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 844 - keyword-independence.json: "maxLength + minimum" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 845 - keyword-independence.json: "minLength + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 846 - keyword-independence.json: "minLength + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 847 - keyword-independence.json: "minLength + minimum" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 848 - keyword-independence.json: "minLength + minimum" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 849 - keyword-independence.json: "minimum + pattern" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 850 - keyword-independence.json: "minimum + pattern" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 851 - keyword-independence.json: "minimum + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 852 - keyword-independence.json: "minimum + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 853 - keyword-independence.json: "maxLength + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 854 - keyword-independence.json: "maxLength + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 855 - keyword-independence.json: "maxLength + multipleOf" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 856 - keyword-independence.json: "maxLength + multipleOf" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 857 - keyword-independence.json: "minLength + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 858 - keyword-independence.json: "minLength + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 859 - keyword-independence.json: "minLength + multipleOf" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 860 - keyword-independence.json: "minLength + multipleOf" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 861 - keyword-independence.json: "multipleOf + pattern" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 862 - keyword-independence.json: "multipleOf + pattern" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 863 - keyword-independence.json: "multipleOf + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 864 - keyword-independence.json: "multipleOf + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 865 - keyword-independence.json: "additionalProperties + maxLength" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 866 - keyword-independence.json: "additionalProperties + maxLength" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 867 - keyword-independence.json: "additionalProperties + maxLength" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 868 - keyword-independence.json: "additionalProperties + maxLength" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 869 - keyword-independence.json: "additionalProperties + minLength" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 870 - keyword-independence.json: "additionalProperties + minLength" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 871 - keyword-independence.json: "additionalProperties + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 872 - keyword-independence.json: "additionalProperties + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 873 - keyword-independence.json: "additionalProperties + pattern" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 874 - keyword-independence.json: "additionalProperties + pattern" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 875 - keyword-independence.json: "additionalProperties + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 876 - keyword-independence.json: "additionalProperties + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 877 - keyword-independence.json: "dependentRequired + maxLength" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 878 - keyword-independence.json: "dependentRequired + maxLength" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 879 - keyword-independence.json: "dependentRequired + maxLength" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 880 - keyword-independence.json: "dependentRequired + maxLength" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 881 - keyword-independence.json: "dependentRequired + minLength" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 882 - keyword-independence.json: "dependentRequired + minLength" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 883 - keyword-independence.json: "dependentRequired + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 884 - keyword-independence.json: "dependentRequired + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 885 - keyword-independence.json: "dependentRequired + pattern" - "object, dependentRequired invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 886 - keyword-independence.json: "dependentRequired + pattern" - "object, dependentRequired valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 887 - keyword-independence.json: "dependentRequired + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 888 - keyword-independence.json: "dependentRequired + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 889 - keyword-independence.json: "dependentSchemas + maxLength" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 890 - keyword-independence.json: "dependentSchemas + maxLength" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 891 - keyword-independence.json: "dependentSchemas + maxLength" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 892 - keyword-independence.json: "dependentSchemas + maxLength" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 893 - keyword-independence.json: "dependentSchemas + minLength" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 894 - keyword-independence.json: "dependentSchemas + minLength" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 895 - keyword-independence.json: "dependentSchemas + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 896 - keyword-independence.json: "dependentSchemas + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 897 - keyword-independence.json: "dependentSchemas + pattern" - "object, dependentSchemas invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 898 - keyword-independence.json: "dependentSchemas + pattern" - "object, dependentSchemas valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 899 - keyword-independence.json: "dependentSchemas + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 900 - keyword-independence.json: "dependentSchemas + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 901 - keyword-independence.json: "maxLength + maxProperties" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 902 - keyword-independence.json: "maxLength + maxProperties" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 903 - keyword-independence.json: "maxLength + maxProperties" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 904 - keyword-independence.json: "maxLength + maxProperties" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 905 - keyword-independence.json: "maxProperties + minLength" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 906 - keyword-independence.json: "maxProperties + minLength" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 907 - keyword-independence.json: "maxProperties + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 908 - keyword-independence.json: "maxProperties + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 909 - keyword-independence.json: "maxProperties + pattern" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 910 - keyword-independence.json: "maxProperties + pattern" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 911 - keyword-independence.json: "maxProperties + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 912 - keyword-independence.json: "maxProperties + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 913 - keyword-independence.json: "maxLength + minProperties" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 914 - keyword-independence.json: "maxLength + minProperties" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 915 - keyword-independence.json: "maxLength + minProperties" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 916 - keyword-independence.json: "maxLength + minProperties" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 917 - keyword-independence.json: "minLength + minProperties" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 918 - keyword-independence.json: "minLength + minProperties" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 919 - keyword-independence.json: "minLength + minProperties" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 920 - keyword-independence.json: "minLength + minProperties" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 921 - keyword-independence.json: "minProperties + pattern" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 922 - keyword-independence.json: "minProperties + pattern" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 923 - keyword-independence.json: "minProperties + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 924 - keyword-independence.json: "minProperties + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 925 - keyword-independence.json: "maxLength + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 926 - keyword-independence.json: "maxLength + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 927 - keyword-independence.json: "maxLength + patternProperties" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 928 - keyword-independence.json: "maxLength + patternProperties" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 929 - keyword-independence.json: "minLength + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 930 - keyword-independence.json: "minLength + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 931 - keyword-independence.json: "minLength + patternProperties" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 932 - keyword-independence.json: "minLength + patternProperties" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 933 - keyword-independence.json: "pattern + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 934 - keyword-independence.json: "pattern + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 935 - keyword-independence.json: "pattern + patternProperties" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 936 - keyword-independence.json: "pattern + patternProperties" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 937 - keyword-independence.json: "maxLength + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 938 - keyword-independence.json: "maxLength + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 939 - keyword-independence.json: "maxLength + properties" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 940 - keyword-independence.json: "maxLength + properties" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 941 - keyword-independence.json: "minLength + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 942 - keyword-independence.json: "minLength + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 943 - keyword-independence.json: "minLength + properties" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 944 - keyword-independence.json: "minLength + properties" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 945 - keyword-independence.json: "pattern + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 946 - keyword-independence.json: "pattern + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 947 - keyword-independence.json: "pattern + properties" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 948 - keyword-independence.json: "pattern + properties" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 949 - keyword-independence.json: "maxLength + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 950 - keyword-independence.json: "maxLength + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 951 - keyword-independence.json: "maxLength + propertyNames" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 952 - keyword-independence.json: "maxLength + propertyNames" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 953 - keyword-independence.json: "minLength + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 954 - keyword-independence.json: "minLength + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 955 - keyword-independence.json: "minLength + propertyNames" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 956 - keyword-independence.json: "minLength + propertyNames" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 957 - keyword-independence.json: "pattern + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 958 - keyword-independence.json: "pattern + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 959 - keyword-independence.json: "pattern + propertyNames" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 960 - keyword-independence.json: "pattern + propertyNames" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 961 - keyword-independence.json: "maxLength + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 962 - keyword-independence.json: "maxLength + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 963 - keyword-independence.json: "maxLength + required" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 964 - keyword-independence.json: "maxLength + required" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 965 - keyword-independence.json: "minLength + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 966 - keyword-independence.json: "minLength + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 967 - keyword-independence.json: "minLength + required" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 968 - keyword-independence.json: "minLength + required" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 969 - keyword-independence.json: "pattern + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 970 - keyword-independence.json: "pattern + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 971 - keyword-independence.json: "pattern + required" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 972 - keyword-independence.json: "pattern + required" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 973 - keyword-independence.json: "maxLength + unevaluatedProperties" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 974 - keyword-independence.json: "maxLength + unevaluatedProperties" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 975 - keyword-independence.json: "maxLength + unevaluatedProperties" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 976 - keyword-independence.json: "maxLength + unevaluatedProperties" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 977 - keyword-independence.json: "minLength + unevaluatedProperties" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 978 - keyword-independence.json: "minLength + unevaluatedProperties" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 979 - keyword-independence.json: "minLength + unevaluatedProperties" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 980 - keyword-independence.json: "minLength + unevaluatedProperties" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 981 - keyword-independence.json: "pattern + unevaluatedProperties" - "object, unevaluatedProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 982 - keyword-independence.json: "pattern + unevaluatedProperties" - "object, unevaluatedProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 983 - keyword-independence.json: "pattern + unevaluatedProperties" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 984 - keyword-independence.json: "pattern + unevaluatedProperties" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 985 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const numeric value does not match string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/const_string",
    #       "keywordLocation": "/properties/const_string/const"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/const_string",
    #       "keywordLocation": "/properties/const_string/const"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 986 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const numeric value does match number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 987 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const string value matches string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 988 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const string value does not match number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/const_number",
    #       "keywordLocation": "/properties/const_number/const"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/const_number",
    #       "keywordLocation": "/properties/const_number/const"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 989 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum numeric value does not match string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/enum_string",
    #       "keywordLocation": "/properties/enum_string/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/enum_string",
    #       "keywordLocation": "/properties/enum_string/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 990 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum numeric value does match number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 991 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum string value matches string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 992 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum string value does not match number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/enum_number",
    #       "keywordLocation": "/properties/enum_number/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/enum_number",
    #       "keywordLocation": "/properties/enum_number/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 993 - recursive-dynamic.json: "dynamic $dynamicRef destination (not predictable at schema compile time)" - "numeric node" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 994 - recursive-dynamic.json: "dynamic $dynamicRef destination (not predictable at schema compile time)" - "integer node" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "integerNode.json#/type",
    #       "error": "got number, not one of object, integer",
    #       "instanceLocation": "/november",
    #       "keywordLocation": "/else/$ref/additionalProperties/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "inner.json#/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "main.json#/else",
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "integerNode.json#/type",
    #       "error": "got number, not one of object, integer",
    #       "instanceLocation": "/november",
    #       "keywordLocation": "/else/$ref/additionalProperties/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "inner.json#/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "main.json#/else",
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 995 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination (with $anchors)" - "data is valid against first definition" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 996 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination (with $anchors)" - "data is invalid against first definition" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/ref-and-id1/base.json#/$defs/bigint/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/ref-and-id1/base.json#/$defs/bigint/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 997 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination (with uris)" - "data is valid against first definition" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 998 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination (with uris)" - "data is invalid against first definition" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/ref-and-id2/int.json#/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/ref-and-id2/int.json#/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 999 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination (with json pointers)" - "data is valid against innermost type check" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1000 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination (with json pointers)" - "data is invalid against innermost type check" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/base/allOf0/#/oneOf/0/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/base/allOf0/#/oneOf/0/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/oneOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/base/allOf0/#/oneOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/oneOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/base/#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/base/allOf0/#/oneOf/0/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/base/#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 1001 - ref.json: "order of evaluation: $id and $ref" - "data is valid against first definition" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1002 - ref.json: "order of evaluation: $id and $ref" - "data is invalid against first definition" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/ref1/int.json#/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/ref1/int.json#/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1003 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is valid against first definition" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1004 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is invalid against first definition" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/ref2/base.json#/$defs/bigint/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/ref2/base.json#/$defs/bigint/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1005 - ref.json: "naive replacement of $ref with its destination is not correct" - "do not evaluate the $ref inside the enum" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1006 - ref.json: "naive replacement of $ref with its destination is not correct" - "match the enum exactly" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1007 - ref.json: "invalid $ref: invalid anchor fragment" - "an invalid anchor fragment" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$defs/foo/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$defs/foo/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1008 - ref.json: "invalid $ref: invalid json-pointer fragment" - "an invalid json-pointer fragment" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$defs/foo/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$defs/foo/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1009 - ref.json: "base URI change - change folder in subschema with path from root" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1010 - ref.json: "base URI change - change folder in subschema with path from root" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/properties/list/$ref/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/$defs/bar/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/properties/list/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/properties/list/$ref/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/$defs/bar/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/properties/list/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 1011 - short-circuit.json: "items (schema form) does not improperly short-circuit" - "single item is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1012 - short-circuit.json: "items (schema form) does not improperly short-circuit" - "second item is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1013 - short-circuit.json: "prefixItems does not improperly short-circuit" - "single item is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1014 - short-circuit.json: "prefixItems does not improperly short-circuit" - "second item is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/prefixItems/1/multipleOf"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/prefixItems/1/multipleOf"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1015 - short-circuit.json: "items does not improperly short-circuit" - "single additional item is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1016 - short-circuit.json: "items does not improperly short-circuit" - "second additional item is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1017 - short-circuit.json: "unevaluatedItems does not improperly short-circuit" - "single item is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1018 - short-circuit.json: "unevaluatedItems does not improperly short-circuit" - "second item is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/unevaluatedItems/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/unevaluatedItems/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1019 - short-circuit.json: "properties does not improperly short-circuit" - "single property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1020 - short-circuit.json: "properties does not improperly short-circuit" - "second property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/properties/beta/multipleOf"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/properties/beta/multipleOf"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1021 - short-circuit.json: "properties does not improperly short-circuit (boolean schemas)" - "single property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1022 - short-circuit.json: "properties does not improperly short-circuit (boolean schemas)" - "second property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/properties/beta"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/properties/beta"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1023 - short-circuit.json: "patternProperties does not improperly short-circuit" - "single property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1024 - short-circuit.json: "patternProperties does not improperly short-circuit" - "second property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/patternProperties/^b/multipleOf"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/patternProperties/^b/multipleOf"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1025 - short-circuit.json: "patternProperties does not improperly short-circuit (boolean schemas)" - "single property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1026 - short-circuit.json: "patternProperties does not improperly short-circuit (boolean schemas)" - "second property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/patternProperties/^b"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/patternProperties/^b"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1027 - short-circuit.json: "additionalProperties does not improperly short-circuit" - "single property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1028 - short-circuit.json: "additionalProperties does not improperly short-circuit" - "second property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/additionalProperties/multipleOf"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/additionalProperties/multipleOf"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1029 - short-circuit.json: "unevaluatedProperties does not improperly short-circuit" - "single property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1030 - short-circuit.json: "unevaluatedProperties does not improperly short-circuit" - "second property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/unevaluatedProperties/multipleOf"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/unevaluatedProperties/multipleOf"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 1031 - unknownKeyword.json: "past and future keywords are ignored" - "passing" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1032 - unknownKeyword.json: "past and future keywords are ignored" - "failing (string)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1033 - unknownKeyword.json: "past and future keywords are ignored" - "failing (object)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1034 - unknownKeyword.json: "past and future keywords are ignored" - "failing (array)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 1035 - vocabulary.json: "valid $vocabulary" - "a valid $vocabulary value" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1036 - vocabulary.json: "invalid $vocabulary (wrong specification version), but not until we evaluate with this metaschema" - "invalid $vocabulary (wrong specification version): register this metaschema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1037 - vocabulary.json: "use schema (invalid $vocabulary) as a metaschema" - "invalid $vocabulary value: wrong specification version" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://mymetaschema2#/$vocabulary/https:~1~1json-schema.org~1draft~12019-09~1vocab~1core",
    #       "error": "\"https://json-schema.org/draft/2019-09/vocab/core\" uses draft2019-09, but the metaschema itself uses draft2020-12",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$schema/$vocabulary/https:~1~1json-schema.org~1draft~12019-09~1vocab~1core"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://mymetaschema2#/$vocabulary",
    #       "error": "the first vocabulary (by evaluation_order) must be Core",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$schema/$vocabulary"
    #     },
    #     {
    #       "error": "\"https://mymetaschema2\" is not a valid metaschema",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$schema"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://mymetaschema2#/$vocabulary/https:~1~1json-schema.org~1draft~12019-09~1vocab~1core",
    #       "error": "\"https://json-schema.org/draft/2019-09/vocab/core\" uses draft2019-09, but the metaschema itself uses draft2020-12",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$schema/$vocabulary/https:~1~1json-schema.org~1draft~12019-09~1vocab~1core"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://mymetaschema2#/$vocabulary",
    #       "error": "the first vocabulary (by evaluation_order) must be Core",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$schema/$vocabulary"
    #     },
    #     {
    #       "error": "\"https://mymetaschema2\" is not a valid metaschema",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$schema"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1038 - vocabulary.json: "invalid $vocabulary (unknown URI), but not until we evaluate with this metaschema" - "invalid $vocabulary (unknown URI): register this metaschema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1039 - vocabulary.json: "use schema (unknown URI) as a metaschema" - "invalid $vocabulary value: unknown URI" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://mymetaschema3#/$vocabulary/https:~1~1foo.com",
    #       "error": "\"https://foo.com\" is not a known vocabulary",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$schema/$vocabulary/https:~1~1foo.com"
    #     },
    #     {
    #       "error": "\"https://mymetaschema3\" is not a valid metaschema",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$schema"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://mymetaschema3#/$vocabulary/https:~1~1foo.com",
    #       "error": "\"https://foo.com\" is not a known vocabulary",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$schema/$vocabulary/https:~1~1foo.com"
    #     },
    #     {
    #       "error": "\"https://mymetaschema3\" is not a valid metaschema",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$schema"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1040 - vocabulary.json: "custom metaschema with format-assertion: false" - "custom metaschema is loaded" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1041 - vocabulary.json: "custom metaschema with format-assertion: true" - "custom metaschema is loaded" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1042 - vocabulary.json: "schema that uses custom metaschema with format-assertion: false" - "format-assertion: false: valid string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1043 - vocabulary.json: "schema that uses custom metaschema with format-assertion: false" - "format-assertion: false: invalid string" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://schema/using/format-assertion/false#/format",
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://schema/using/format-assertion/false#/format",
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1044 - vocabulary.json: "schema that uses custom metaschema with format-assertion: true" - "format-assertion: true: valid string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1045 - vocabulary.json: "schema that uses custom metaschema with format-assertion: true" - "format-assertion: true: invalid string" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://schema/using/format-assertion/true#/format",
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://schema/using/format-assertion/true#/format",
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 1046 - optional/format-date-time.json: "leap seconds" - "a valid date-time with a leap second, UTC" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1047 - optional/format-date-time.json: "leap seconds" - "a valid date-time with a leap second, with minus offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1048 - optional/format-date-time.json: "leap seconds" - "an invalid date-time with a leap second, UTC" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1049 - optional/format-date-time.json: "leap seconds" - "an invalid date-time with a leap second, with minus offset" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 1050 - optional/format-date.json: "non-ascii digits should be rejected" - "BENGALI DIGIT TWO is not valid in dates" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 1051 - optional/format-time.json: "validation of time strings" - "valid leap second, Zulu" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1052 - optional/format-time.json: "validation of time strings" - "invalid leap second, Zulu (wrong hour)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1053 - optional/format-time.json: "validation of time strings" - "invalid leap second, Zulu (wrong minute)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1054 - optional/format-time.json: "validation of time strings" - "valid leap second, positive time-offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1055 - optional/format-time.json: "validation of time strings" - "valid leap second, large positive time-offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1056 - optional/format-time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong hour)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1057 - optional/format-time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong minute)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1058 - optional/format-time.json: "validation of time strings" - "valid leap second, negative time-offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1059 - optional/format-time.json: "validation of time strings" - "valid leap second, large negative time-offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1060 - optional/format-time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong hour)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1061 - optional/format-time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong minute)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1062 - optional/format-time.json: "validation of time strings" - "no time offset" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1063 - optional/format-time.json: "validation of time strings" - "non-ascii digits should be rejected" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1064 - no leaks in the main evaluator object
ok 1065 - no leaks in the short-circuiting evaluator object
ok 1066 - got unsupported keyword warnings
1..1066
ok
# AUTHOR_TESTING: <undef>
# AUTOMATED_TESTING: 1
# EXTENDED_TESTING: <undef>
# NO_TODO: <undef>
# TEST_DIR: <undef>
# NO_SHORT_CIRCUIT: <undef>
# 
# 
# generated with:              Test::JSON::Schema::Acceptance 1.027
# specification version:       draft7
# using custom test directory: t/additional-tests-draft7
# optional tests included:     yes
# 
# filename                                  pass  todo-fail  fail
# ---------------------------------------------------------------
# badRef.json                                  3          0     0
# faux-buggy-schemas.json                      2          0     0
# format-ipv4.json                             4          0     0
# format-relative-json-pointer.json            7          0     0
# id.json                                      9          0     0
# integers.json                               29          0     0
# keyword-independence.json                  636          0     0
# loose-types-const-enum.json                  8          0     0
# not-an-anchor.json                           2          0     0
# not-an-id.json                               2          0     0
# ref-and-id.json                              2          0     0
# ref.json                                    10          0     0
# short-circuit.json                          16          0     0
# unknownKeyword.json                          8          0     0
# vocabulary.json                              3          0     0
# optional/format-date-time.json               4          0     0
# optional/format-date.json                    1          0     0
# optional/format-time.json                   13          0     0
# ---------------------------------------------------------------
# TOTAL                                      759          0     0
# 
# Congratulations, all non-optional tests are passing!
# 
t/additional-tests-draft7.t ............. 
# running tests in /build/reproducible-path/libjson-schema-modern-perl-0.603/t/additional-tests-draft7 against draft7...
# 
ok 1 - badRef.json: "good references in schemas" - "this data is never used" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 2 - badRef.json: "bad $ref in schema: not a valid anchor fragment" - "this data is never used" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 3 - badRef.json: "bad $ref in schema: not a valid json pointer fragment" - "this data is never used" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 4 - faux-buggy-schemas.json: "identifiers in non-schemas that look like schemas" - "match the type checks" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 5 - faux-buggy-schemas.json: "identifiers in non-schemas that look like schemas" - "match none of the options" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/0/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/1/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/2/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/2/const"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/enum.json#/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/3/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/0/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/1/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf/2/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/2/const"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/enum.json#/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/3/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/faux.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 6 - format-ipv4.json: "validation of ipv4 strings" - "leading zeroes should be rejected, as they are treated as octal values" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 7 - format-ipv4.json: "validation of ipv4 strings" - "leading zeroes should be rejected, even if not a valid octal value" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 8 - format-ipv4.json: "validation of ipv4 strings" - "value without leading zero is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 9 - format-ipv4.json: "validation of ipv4 strings" - "non-ascii digits should be rejected" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 10 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer with empty json-pointer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 11 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer with one-char json-pointer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 12 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer with longer json-pointer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 13 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "non-negative-integer \#" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 14 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "\#\# is not a valid json-pointer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 15 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "zero cannot be followed by other digits, plus json-pointer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 16 - format-relative-json-pointer.json: "validation of relative-json-pointer strings" - "zero cannot be followed by other digits, plus octothorpe" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 17 - id.json: "non-schema object containing an $id property" - "skip traversing definition for a valid result" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 18 - id.json: "non-schema object containing an $id property" - "const at const_not_id does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/const_not_id/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/const_not_id/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 19 - id.json: "non-schema object containing an anchor property" - "skip traversing definition for a valid result" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 20 - id.json: "non-schema object containing an anchor property" - "const at const_not_anchor does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/const_not_anchor/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/const_not_anchor/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 21 - id.json: "'' not permitted as $id" - "schema would pass without $id" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$id cannot be empty",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$id"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$id cannot be empty",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$id"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 22 - id.json: "'' not permitted as $id" - "schema would fail even without $id" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$id cannot be empty",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$id"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$id cannot be empty",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$id"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 23 - id.json: "'\#' not permitted as $id" - "schema would pass without $id" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$id cannot be empty",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$id"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$id cannot be empty",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$id"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 24 - id.json: "'\#' not permitted as $id" - "schema would fail even without $id" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$id cannot be empty",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$id"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$id cannot be empty",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$id"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 25 - id.json: "bad anchor syntax" - "draft7 $id passes through to $anchor" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$id value \"#!!hello~\" does not match required syntax",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$id"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$id value \"#!!hello~\" does not match required syntax",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$id"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 26 - integers.json: "type checks" - "beyond int64 lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 27 - integers.json: "type checks" - "int64 lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 28 - integers.json: "type checks" - "beyond int32 lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 29 - integers.json: "type checks" - "int32 lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 30 - integers.json: "type checks" - "zero" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 31 - integers.json: "type checks" - "int32 upper boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 32 - integers.json: "type checks" - "beyond int32 upper boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 33 - integers.json: "type checks" - "upper int64 boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 34 - integers.json: "type checks" - "beyond int64 upper boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 35 - integers.json: "int32 range checks" - "beyond lower boundary" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -2147483648",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -2147483648",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 36 - integers.json: "int32 range checks" - "lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 37 - integers.json: "int32 range checks" - "zero" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 38 - integers.json: "int32 range checks" - "upper boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 39 - integers.json: "int32 range checks" - "beyond upper boundary" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2147483647",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2147483647",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 40 - integers.json: "int64 range checks" - "beyond lower boundary" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -9223372036854775808",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -9223372036854775808",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 41 - integers.json: "int64 range checks" - "lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 42 - integers.json: "int64 range checks" - "zero" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 43 - integers.json: "int64 range checks" - "upper boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 44 - integers.json: "int64 range checks" - "beyond upper boundary" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 9223372036854775807",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 9223372036854775807",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 45 - integers.json: "equality checks" - "beyond int64 lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 46 - integers.json: "equality checks" - "int64 lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 47 - integers.json: "equality checks" - "beyond int32 lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 48 - integers.json: "equality checks" - "int32 lower boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 49 - integers.json: "equality checks" - "zero" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 50 - integers.json: "equality checks" - "one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 51 - integers.json: "equality checks" - "int32 upper boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 52 - integers.json: "equality checks" - "beyond int32 upper boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 53 - integers.json: "equality checks" - "int64 upper boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 54 - integers.json: "equality checks" - "beyond int64 upper boundary" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 55 - keyword-independence.json: "contains + exclusiveMaximum" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 56 - keyword-independence.json: "contains + exclusiveMaximum" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 57 - keyword-independence.json: "contains + exclusiveMaximum" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 58 - keyword-independence.json: "contains + exclusiveMaximum" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 59 - keyword-independence.json: "contains + exclusiveMinimum" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 60 - keyword-independence.json: "contains + exclusiveMinimum" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 61 - keyword-independence.json: "contains + exclusiveMinimum" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 62 - keyword-independence.json: "contains + exclusiveMinimum" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 63 - keyword-independence.json: "contains + maximum" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 64 - keyword-independence.json: "contains + maximum" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 65 - keyword-independence.json: "contains + maximum" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 66 - keyword-independence.json: "contains + maximum" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 67 - keyword-independence.json: "contains + minimum" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 68 - keyword-independence.json: "contains + minimum" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 69 - keyword-independence.json: "contains + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 70 - keyword-independence.json: "contains + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 71 - keyword-independence.json: "contains + multipleOf" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 72 - keyword-independence.json: "contains + multipleOf" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 73 - keyword-independence.json: "contains + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 74 - keyword-independence.json: "contains + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 75 - keyword-independence.json: "exclusiveMaximum + items" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 76 - keyword-independence.json: "exclusiveMaximum + items" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 77 - keyword-independence.json: "exclusiveMaximum + items" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 78 - keyword-independence.json: "exclusiveMaximum + items" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 79 - keyword-independence.json: "exclusiveMinimum + items" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 80 - keyword-independence.json: "exclusiveMinimum + items" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 81 - keyword-independence.json: "exclusiveMinimum + items" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 82 - keyword-independence.json: "exclusiveMinimum + items" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 83 - keyword-independence.json: "items + maximum" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 84 - keyword-independence.json: "items + maximum" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 85 - keyword-independence.json: "items + maximum" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 86 - keyword-independence.json: "items + maximum" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 87 - keyword-independence.json: "items + minimum" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 88 - keyword-independence.json: "items + minimum" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 89 - keyword-independence.json: "items + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 90 - keyword-independence.json: "items + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 91 - keyword-independence.json: "items + multipleOf" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 92 - keyword-independence.json: "items + multipleOf" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 93 - keyword-independence.json: "items + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 94 - keyword-independence.json: "items + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 95 - keyword-independence.json: "exclusiveMaximum + maxItems" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 96 - keyword-independence.json: "exclusiveMaximum + maxItems" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 97 - keyword-independence.json: "exclusiveMaximum + maxItems" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 98 - keyword-independence.json: "exclusiveMaximum + maxItems" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 99 - keyword-independence.json: "exclusiveMinimum + maxItems" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 100 - keyword-independence.json: "exclusiveMinimum + maxItems" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 101 - keyword-independence.json: "exclusiveMinimum + maxItems" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 102 - keyword-independence.json: "exclusiveMinimum + maxItems" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 103 - keyword-independence.json: "maxItems + maximum" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 104 - keyword-independence.json: "maxItems + maximum" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 105 - keyword-independence.json: "maxItems + maximum" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 106 - keyword-independence.json: "maxItems + maximum" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 107 - keyword-independence.json: "maxItems + minimum" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 108 - keyword-independence.json: "maxItems + minimum" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 109 - keyword-independence.json: "maxItems + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 110 - keyword-independence.json: "maxItems + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 111 - keyword-independence.json: "maxItems + multipleOf" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 112 - keyword-independence.json: "maxItems + multipleOf" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 113 - keyword-independence.json: "maxItems + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 114 - keyword-independence.json: "maxItems + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 115 - keyword-independence.json: "exclusiveMaximum + minItems" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 116 - keyword-independence.json: "exclusiveMaximum + minItems" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 117 - keyword-independence.json: "exclusiveMaximum + minItems" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 118 - keyword-independence.json: "exclusiveMaximum + minItems" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 119 - keyword-independence.json: "exclusiveMinimum + minItems" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 120 - keyword-independence.json: "exclusiveMinimum + minItems" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 121 - keyword-independence.json: "exclusiveMinimum + minItems" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 122 - keyword-independence.json: "exclusiveMinimum + minItems" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 123 - keyword-independence.json: "maximum + minItems" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 124 - keyword-independence.json: "maximum + minItems" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 125 - keyword-independence.json: "maximum + minItems" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 126 - keyword-independence.json: "maximum + minItems" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 127 - keyword-independence.json: "minItems + minimum" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 128 - keyword-independence.json: "minItems + minimum" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 129 - keyword-independence.json: "minItems + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 130 - keyword-independence.json: "minItems + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 131 - keyword-independence.json: "minItems + multipleOf" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 132 - keyword-independence.json: "minItems + multipleOf" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 133 - keyword-independence.json: "minItems + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 134 - keyword-independence.json: "minItems + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 135 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 136 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 137 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 138 - keyword-independence.json: "exclusiveMaximum + uniqueItems" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 139 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 140 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 141 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 142 - keyword-independence.json: "exclusiveMinimum + uniqueItems" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 143 - keyword-independence.json: "maximum + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 144 - keyword-independence.json: "maximum + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 145 - keyword-independence.json: "maximum + uniqueItems" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 146 - keyword-independence.json: "maximum + uniqueItems" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 147 - keyword-independence.json: "minimum + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 148 - keyword-independence.json: "minimum + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 149 - keyword-independence.json: "minimum + uniqueItems" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 150 - keyword-independence.json: "minimum + uniqueItems" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 151 - keyword-independence.json: "multipleOf + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 152 - keyword-independence.json: "multipleOf + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 153 - keyword-independence.json: "multipleOf + uniqueItems" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 154 - keyword-independence.json: "multipleOf + uniqueItems" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 155 - keyword-independence.json: "additionalProperties + contains" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 156 - keyword-independence.json: "additionalProperties + contains" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 157 - keyword-independence.json: "additionalProperties + contains" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 158 - keyword-independence.json: "additionalProperties + contains" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 159 - keyword-independence.json: "contains + dependencies" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 160 - keyword-independence.json: "contains + dependencies" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 161 - keyword-independence.json: "contains + dependencies" - "object, dependencies invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 162 - keyword-independence.json: "contains + dependencies" - "object, dependencies valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 163 - keyword-independence.json: "contains + maxProperties" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 164 - keyword-independence.json: "contains + maxProperties" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 165 - keyword-independence.json: "contains + maxProperties" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 166 - keyword-independence.json: "contains + maxProperties" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 167 - keyword-independence.json: "contains + minProperties" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 168 - keyword-independence.json: "contains + minProperties" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 169 - keyword-independence.json: "contains + minProperties" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 170 - keyword-independence.json: "contains + minProperties" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 171 - keyword-independence.json: "contains + patternProperties" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 172 - keyword-independence.json: "contains + patternProperties" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 173 - keyword-independence.json: "contains + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 174 - keyword-independence.json: "contains + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 175 - keyword-independence.json: "contains + properties" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 176 - keyword-independence.json: "contains + properties" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 177 - keyword-independence.json: "contains + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 178 - keyword-independence.json: "contains + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 179 - keyword-independence.json: "contains + propertyNames" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 180 - keyword-independence.json: "contains + propertyNames" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 181 - keyword-independence.json: "contains + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 182 - keyword-independence.json: "contains + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 183 - keyword-independence.json: "contains + required" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 184 - keyword-independence.json: "contains + required" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 185 - keyword-independence.json: "contains + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 186 - keyword-independence.json: "contains + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 187 - keyword-independence.json: "additionalProperties + items" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 188 - keyword-independence.json: "additionalProperties + items" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 189 - keyword-independence.json: "additionalProperties + items" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 190 - keyword-independence.json: "additionalProperties + items" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 191 - keyword-independence.json: "dependencies + items" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 192 - keyword-independence.json: "dependencies + items" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 193 - keyword-independence.json: "dependencies + items" - "object, dependencies invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 194 - keyword-independence.json: "dependencies + items" - "object, dependencies valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 195 - keyword-independence.json: "items + maxProperties" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 196 - keyword-independence.json: "items + maxProperties" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 197 - keyword-independence.json: "items + maxProperties" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 198 - keyword-independence.json: "items + maxProperties" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 199 - keyword-independence.json: "items + minProperties" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 200 - keyword-independence.json: "items + minProperties" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 201 - keyword-independence.json: "items + minProperties" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 202 - keyword-independence.json: "items + minProperties" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 203 - keyword-independence.json: "items + patternProperties" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 204 - keyword-independence.json: "items + patternProperties" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 205 - keyword-independence.json: "items + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 206 - keyword-independence.json: "items + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 207 - keyword-independence.json: "items + properties" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 208 - keyword-independence.json: "items + properties" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 209 - keyword-independence.json: "items + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 210 - keyword-independence.json: "items + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 211 - keyword-independence.json: "items + propertyNames" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 212 - keyword-independence.json: "items + propertyNames" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 213 - keyword-independence.json: "items + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 214 - keyword-independence.json: "items + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 215 - keyword-independence.json: "items + required" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 216 - keyword-independence.json: "items + required" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 217 - keyword-independence.json: "items + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 218 - keyword-independence.json: "items + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 219 - keyword-independence.json: "additionalProperties + maxItems" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 220 - keyword-independence.json: "additionalProperties + maxItems" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 221 - keyword-independence.json: "additionalProperties + maxItems" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 222 - keyword-independence.json: "additionalProperties + maxItems" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 223 - keyword-independence.json: "dependencies + maxItems" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 224 - keyword-independence.json: "dependencies + maxItems" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 225 - keyword-independence.json: "dependencies + maxItems" - "object, dependencies invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 226 - keyword-independence.json: "dependencies + maxItems" - "object, dependencies valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 227 - keyword-independence.json: "maxItems + maxProperties" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 228 - keyword-independence.json: "maxItems + maxProperties" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 229 - keyword-independence.json: "maxItems + maxProperties" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 230 - keyword-independence.json: "maxItems + maxProperties" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 231 - keyword-independence.json: "maxItems + minProperties" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 232 - keyword-independence.json: "maxItems + minProperties" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 233 - keyword-independence.json: "maxItems + minProperties" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 234 - keyword-independence.json: "maxItems + minProperties" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 235 - keyword-independence.json: "maxItems + patternProperties" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 236 - keyword-independence.json: "maxItems + patternProperties" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 237 - keyword-independence.json: "maxItems + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 238 - keyword-independence.json: "maxItems + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 239 - keyword-independence.json: "maxItems + properties" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 240 - keyword-independence.json: "maxItems + properties" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 241 - keyword-independence.json: "maxItems + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 242 - keyword-independence.json: "maxItems + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 243 - keyword-independence.json: "maxItems + propertyNames" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 244 - keyword-independence.json: "maxItems + propertyNames" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 245 - keyword-independence.json: "maxItems + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 246 - keyword-independence.json: "maxItems + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 247 - keyword-independence.json: "maxItems + required" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 248 - keyword-independence.json: "maxItems + required" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 249 - keyword-independence.json: "maxItems + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 250 - keyword-independence.json: "maxItems + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 251 - keyword-independence.json: "additionalProperties + minItems" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 252 - keyword-independence.json: "additionalProperties + minItems" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 253 - keyword-independence.json: "additionalProperties + minItems" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 254 - keyword-independence.json: "additionalProperties + minItems" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 255 - keyword-independence.json: "dependencies + minItems" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 256 - keyword-independence.json: "dependencies + minItems" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 257 - keyword-independence.json: "dependencies + minItems" - "object, dependencies invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 258 - keyword-independence.json: "dependencies + minItems" - "object, dependencies valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 259 - keyword-independence.json: "maxProperties + minItems" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 260 - keyword-independence.json: "maxProperties + minItems" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 261 - keyword-independence.json: "maxProperties + minItems" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 262 - keyword-independence.json: "maxProperties + minItems" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 263 - keyword-independence.json: "minItems + minProperties" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 264 - keyword-independence.json: "minItems + minProperties" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 265 - keyword-independence.json: "minItems + minProperties" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 266 - keyword-independence.json: "minItems + minProperties" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 267 - keyword-independence.json: "minItems + patternProperties" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 268 - keyword-independence.json: "minItems + patternProperties" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 269 - keyword-independence.json: "minItems + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 270 - keyword-independence.json: "minItems + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 271 - keyword-independence.json: "minItems + properties" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 272 - keyword-independence.json: "minItems + properties" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 273 - keyword-independence.json: "minItems + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 274 - keyword-independence.json: "minItems + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 275 - keyword-independence.json: "minItems + propertyNames" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 276 - keyword-independence.json: "minItems + propertyNames" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 277 - keyword-independence.json: "minItems + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 278 - keyword-independence.json: "minItems + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 279 - keyword-independence.json: "minItems + required" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 280 - keyword-independence.json: "minItems + required" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 281 - keyword-independence.json: "minItems + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 282 - keyword-independence.json: "minItems + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 283 - keyword-independence.json: "additionalProperties + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 284 - keyword-independence.json: "additionalProperties + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 285 - keyword-independence.json: "additionalProperties + uniqueItems" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 286 - keyword-independence.json: "additionalProperties + uniqueItems" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 287 - keyword-independence.json: "dependencies + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 288 - keyword-independence.json: "dependencies + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 289 - keyword-independence.json: "dependencies + uniqueItems" - "object, dependencies invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 290 - keyword-independence.json: "dependencies + uniqueItems" - "object, dependencies valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 291 - keyword-independence.json: "maxProperties + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 292 - keyword-independence.json: "maxProperties + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 293 - keyword-independence.json: "maxProperties + uniqueItems" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 294 - keyword-independence.json: "maxProperties + uniqueItems" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 295 - keyword-independence.json: "minProperties + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 296 - keyword-independence.json: "minProperties + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 297 - keyword-independence.json: "minProperties + uniqueItems" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 298 - keyword-independence.json: "minProperties + uniqueItems" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 299 - keyword-independence.json: "patternProperties + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 300 - keyword-independence.json: "patternProperties + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 301 - keyword-independence.json: "patternProperties + uniqueItems" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 302 - keyword-independence.json: "patternProperties + uniqueItems" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 303 - keyword-independence.json: "properties + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 304 - keyword-independence.json: "properties + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 305 - keyword-independence.json: "properties + uniqueItems" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 306 - keyword-independence.json: "properties + uniqueItems" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 307 - keyword-independence.json: "propertyNames + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 308 - keyword-independence.json: "propertyNames + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 309 - keyword-independence.json: "propertyNames + uniqueItems" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 310 - keyword-independence.json: "propertyNames + uniqueItems" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 311 - keyword-independence.json: "required + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 312 - keyword-independence.json: "required + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 313 - keyword-independence.json: "required + uniqueItems" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 314 - keyword-independence.json: "required + uniqueItems" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 315 - keyword-independence.json: "contains + maxLength" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 316 - keyword-independence.json: "contains + maxLength" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 317 - keyword-independence.json: "contains + maxLength" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 318 - keyword-independence.json: "contains + maxLength" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 319 - keyword-independence.json: "contains + minLength" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 320 - keyword-independence.json: "contains + minLength" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 321 - keyword-independence.json: "contains + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 322 - keyword-independence.json: "contains + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 323 - keyword-independence.json: "contains + pattern" - "array, contains invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 324 - keyword-independence.json: "contains + pattern" - "array, contains valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 325 - keyword-independence.json: "contains + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 326 - keyword-independence.json: "contains + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 327 - keyword-independence.json: "items + maxLength" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 328 - keyword-independence.json: "items + maxLength" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 329 - keyword-independence.json: "items + maxLength" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 330 - keyword-independence.json: "items + maxLength" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 331 - keyword-independence.json: "items + minLength" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 332 - keyword-independence.json: "items + minLength" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 333 - keyword-independence.json: "items + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 334 - keyword-independence.json: "items + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 335 - keyword-independence.json: "items + pattern" - "array, items invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 336 - keyword-independence.json: "items + pattern" - "array, items valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 337 - keyword-independence.json: "items + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 338 - keyword-independence.json: "items + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 339 - keyword-independence.json: "maxItems + maxLength" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 340 - keyword-independence.json: "maxItems + maxLength" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 341 - keyword-independence.json: "maxItems + maxLength" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 342 - keyword-independence.json: "maxItems + maxLength" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 343 - keyword-independence.json: "maxItems + minLength" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 344 - keyword-independence.json: "maxItems + minLength" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 345 - keyword-independence.json: "maxItems + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 346 - keyword-independence.json: "maxItems + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 347 - keyword-independence.json: "maxItems + pattern" - "array, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 348 - keyword-independence.json: "maxItems + pattern" - "array, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 349 - keyword-independence.json: "maxItems + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 350 - keyword-independence.json: "maxItems + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 351 - keyword-independence.json: "maxLength + minItems" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 352 - keyword-independence.json: "maxLength + minItems" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 353 - keyword-independence.json: "maxLength + minItems" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 354 - keyword-independence.json: "maxLength + minItems" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 355 - keyword-independence.json: "minItems + minLength" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 356 - keyword-independence.json: "minItems + minLength" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 357 - keyword-independence.json: "minItems + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 358 - keyword-independence.json: "minItems + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 359 - keyword-independence.json: "minItems + pattern" - "array, minItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 360 - keyword-independence.json: "minItems + pattern" - "array, minItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 361 - keyword-independence.json: "minItems + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 362 - keyword-independence.json: "minItems + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 363 - keyword-independence.json: "maxLength + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 364 - keyword-independence.json: "maxLength + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 365 - keyword-independence.json: "maxLength + uniqueItems" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 366 - keyword-independence.json: "maxLength + uniqueItems" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 367 - keyword-independence.json: "minLength + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 368 - keyword-independence.json: "minLength + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 369 - keyword-independence.json: "minLength + uniqueItems" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 370 - keyword-independence.json: "minLength + uniqueItems" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 371 - keyword-independence.json: "pattern + uniqueItems" - "array, uniqueItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 372 - keyword-independence.json: "pattern + uniqueItems" - "array, uniqueItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 373 - keyword-independence.json: "pattern + uniqueItems" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 374 - keyword-independence.json: "pattern + uniqueItems" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 375 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 376 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 377 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 378 - keyword-independence.json: "additionalProperties + exclusiveMaximum" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 379 - keyword-independence.json: "dependencies + exclusiveMaximum" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 380 - keyword-independence.json: "dependencies + exclusiveMaximum" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 381 - keyword-independence.json: "dependencies + exclusiveMaximum" - "object, dependencies invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 382 - keyword-independence.json: "dependencies + exclusiveMaximum" - "object, dependencies valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 383 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 384 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 385 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 386 - keyword-independence.json: "exclusiveMaximum + maxProperties" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 387 - keyword-independence.json: "exclusiveMaximum + minProperties" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 388 - keyword-independence.json: "exclusiveMaximum + minProperties" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 389 - keyword-independence.json: "exclusiveMaximum + minProperties" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 390 - keyword-independence.json: "exclusiveMaximum + minProperties" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 391 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 392 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 393 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 394 - keyword-independence.json: "exclusiveMaximum + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 395 - keyword-independence.json: "exclusiveMaximum + properties" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 396 - keyword-independence.json: "exclusiveMaximum + properties" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 397 - keyword-independence.json: "exclusiveMaximum + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 398 - keyword-independence.json: "exclusiveMaximum + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 399 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 400 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 401 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 402 - keyword-independence.json: "exclusiveMaximum + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 403 - keyword-independence.json: "exclusiveMaximum + required" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 404 - keyword-independence.json: "exclusiveMaximum + required" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 405 - keyword-independence.json: "exclusiveMaximum + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 406 - keyword-independence.json: "exclusiveMaximum + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 407 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 408 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 409 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 410 - keyword-independence.json: "additionalProperties + exclusiveMinimum" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 411 - keyword-independence.json: "dependencies + exclusiveMinimum" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 412 - keyword-independence.json: "dependencies + exclusiveMinimum" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 413 - keyword-independence.json: "dependencies + exclusiveMinimum" - "object, dependencies invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 414 - keyword-independence.json: "dependencies + exclusiveMinimum" - "object, dependencies valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 415 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 416 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 417 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 418 - keyword-independence.json: "exclusiveMinimum + maxProperties" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 419 - keyword-independence.json: "exclusiveMinimum + minProperties" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 420 - keyword-independence.json: "exclusiveMinimum + minProperties" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 421 - keyword-independence.json: "exclusiveMinimum + minProperties" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 422 - keyword-independence.json: "exclusiveMinimum + minProperties" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 423 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 424 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 425 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 426 - keyword-independence.json: "exclusiveMinimum + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 427 - keyword-independence.json: "exclusiveMinimum + properties" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 428 - keyword-independence.json: "exclusiveMinimum + properties" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 429 - keyword-independence.json: "exclusiveMinimum + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 430 - keyword-independence.json: "exclusiveMinimum + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 431 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 432 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 433 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 434 - keyword-independence.json: "exclusiveMinimum + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 435 - keyword-independence.json: "exclusiveMinimum + required" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 436 - keyword-independence.json: "exclusiveMinimum + required" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 437 - keyword-independence.json: "exclusiveMinimum + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 438 - keyword-independence.json: "exclusiveMinimum + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 439 - keyword-independence.json: "additionalProperties + maximum" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 440 - keyword-independence.json: "additionalProperties + maximum" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 441 - keyword-independence.json: "additionalProperties + maximum" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 442 - keyword-independence.json: "additionalProperties + maximum" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 443 - keyword-independence.json: "dependencies + maximum" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 444 - keyword-independence.json: "dependencies + maximum" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 445 - keyword-independence.json: "dependencies + maximum" - "object, dependencies invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 446 - keyword-independence.json: "dependencies + maximum" - "object, dependencies valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 447 - keyword-independence.json: "maxProperties + maximum" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 448 - keyword-independence.json: "maxProperties + maximum" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 449 - keyword-independence.json: "maxProperties + maximum" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 450 - keyword-independence.json: "maxProperties + maximum" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 451 - keyword-independence.json: "maximum + minProperties" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 452 - keyword-independence.json: "maximum + minProperties" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 453 - keyword-independence.json: "maximum + minProperties" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 454 - keyword-independence.json: "maximum + minProperties" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 455 - keyword-independence.json: "maximum + patternProperties" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 456 - keyword-independence.json: "maximum + patternProperties" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 457 - keyword-independence.json: "maximum + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 458 - keyword-independence.json: "maximum + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 459 - keyword-independence.json: "maximum + properties" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 460 - keyword-independence.json: "maximum + properties" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 461 - keyword-independence.json: "maximum + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 462 - keyword-independence.json: "maximum + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 463 - keyword-independence.json: "maximum + propertyNames" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 464 - keyword-independence.json: "maximum + propertyNames" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 465 - keyword-independence.json: "maximum + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 466 - keyword-independence.json: "maximum + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 467 - keyword-independence.json: "maximum + required" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 468 - keyword-independence.json: "maximum + required" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 469 - keyword-independence.json: "maximum + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 470 - keyword-independence.json: "maximum + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 471 - keyword-independence.json: "additionalProperties + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 472 - keyword-independence.json: "additionalProperties + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 473 - keyword-independence.json: "additionalProperties + minimum" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 474 - keyword-independence.json: "additionalProperties + minimum" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 475 - keyword-independence.json: "dependencies + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 476 - keyword-independence.json: "dependencies + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 477 - keyword-independence.json: "dependencies + minimum" - "object, dependencies invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 478 - keyword-independence.json: "dependencies + minimum" - "object, dependencies valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 479 - keyword-independence.json: "maxProperties + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 480 - keyword-independence.json: "maxProperties + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 481 - keyword-independence.json: "maxProperties + minimum" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 482 - keyword-independence.json: "maxProperties + minimum" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 483 - keyword-independence.json: "minProperties + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 484 - keyword-independence.json: "minProperties + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 485 - keyword-independence.json: "minProperties + minimum" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 486 - keyword-independence.json: "minProperties + minimum" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 487 - keyword-independence.json: "minimum + patternProperties" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 488 - keyword-independence.json: "minimum + patternProperties" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 489 - keyword-independence.json: "minimum + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 490 - keyword-independence.json: "minimum + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 491 - keyword-independence.json: "minimum + properties" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 492 - keyword-independence.json: "minimum + properties" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 493 - keyword-independence.json: "minimum + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 494 - keyword-independence.json: "minimum + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 495 - keyword-independence.json: "minimum + propertyNames" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 496 - keyword-independence.json: "minimum + propertyNames" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 497 - keyword-independence.json: "minimum + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 498 - keyword-independence.json: "minimum + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 499 - keyword-independence.json: "minimum + required" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 500 - keyword-independence.json: "minimum + required" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 501 - keyword-independence.json: "minimum + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 502 - keyword-independence.json: "minimum + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 503 - keyword-independence.json: "additionalProperties + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 504 - keyword-independence.json: "additionalProperties + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 505 - keyword-independence.json: "additionalProperties + multipleOf" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 506 - keyword-independence.json: "additionalProperties + multipleOf" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 507 - keyword-independence.json: "dependencies + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 508 - keyword-independence.json: "dependencies + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 509 - keyword-independence.json: "dependencies + multipleOf" - "object, dependencies invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 510 - keyword-independence.json: "dependencies + multipleOf" - "object, dependencies valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 511 - keyword-independence.json: "maxProperties + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 512 - keyword-independence.json: "maxProperties + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 513 - keyword-independence.json: "maxProperties + multipleOf" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 514 - keyword-independence.json: "maxProperties + multipleOf" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 515 - keyword-independence.json: "minProperties + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 516 - keyword-independence.json: "minProperties + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 517 - keyword-independence.json: "minProperties + multipleOf" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 518 - keyword-independence.json: "minProperties + multipleOf" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 519 - keyword-independence.json: "multipleOf + patternProperties" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 520 - keyword-independence.json: "multipleOf + patternProperties" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 521 - keyword-independence.json: "multipleOf + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 522 - keyword-independence.json: "multipleOf + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 523 - keyword-independence.json: "multipleOf + properties" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 524 - keyword-independence.json: "multipleOf + properties" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 525 - keyword-independence.json: "multipleOf + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 526 - keyword-independence.json: "multipleOf + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 527 - keyword-independence.json: "multipleOf + propertyNames" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 528 - keyword-independence.json: "multipleOf + propertyNames" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 529 - keyword-independence.json: "multipleOf + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 530 - keyword-independence.json: "multipleOf + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 531 - keyword-independence.json: "multipleOf + required" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 532 - keyword-independence.json: "multipleOf + required" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 533 - keyword-independence.json: "multipleOf + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 534 - keyword-independence.json: "multipleOf + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 535 - keyword-independence.json: "exclusiveMaximum + maxLength" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 536 - keyword-independence.json: "exclusiveMaximum + maxLength" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 537 - keyword-independence.json: "exclusiveMaximum + maxLength" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 538 - keyword-independence.json: "exclusiveMaximum + maxLength" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 539 - keyword-independence.json: "exclusiveMaximum + minLength" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 540 - keyword-independence.json: "exclusiveMaximum + minLength" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 541 - keyword-independence.json: "exclusiveMaximum + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 542 - keyword-independence.json: "exclusiveMaximum + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 543 - keyword-independence.json: "exclusiveMaximum + pattern" - "number, exclusiveMaximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 544 - keyword-independence.json: "exclusiveMaximum + pattern" - "number, exclusiveMaximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 545 - keyword-independence.json: "exclusiveMaximum + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 546 - keyword-independence.json: "exclusiveMaximum + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 547 - keyword-independence.json: "exclusiveMinimum + maxLength" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 548 - keyword-independence.json: "exclusiveMinimum + maxLength" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 549 - keyword-independence.json: "exclusiveMinimum + maxLength" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 550 - keyword-independence.json: "exclusiveMinimum + maxLength" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 551 - keyword-independence.json: "exclusiveMinimum + minLength" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 552 - keyword-independence.json: "exclusiveMinimum + minLength" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 553 - keyword-independence.json: "exclusiveMinimum + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 554 - keyword-independence.json: "exclusiveMinimum + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 555 - keyword-independence.json: "exclusiveMinimum + pattern" - "number, exclusiveMinimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 556 - keyword-independence.json: "exclusiveMinimum + pattern" - "number, exclusiveMinimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 557 - keyword-independence.json: "exclusiveMinimum + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 558 - keyword-independence.json: "exclusiveMinimum + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 559 - keyword-independence.json: "maxLength + maximum" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 560 - keyword-independence.json: "maxLength + maximum" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 561 - keyword-independence.json: "maxLength + maximum" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 562 - keyword-independence.json: "maxLength + maximum" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 563 - keyword-independence.json: "maximum + minLength" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 564 - keyword-independence.json: "maximum + minLength" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 565 - keyword-independence.json: "maximum + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 566 - keyword-independence.json: "maximum + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 567 - keyword-independence.json: "maximum + pattern" - "number, maximum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 568 - keyword-independence.json: "maximum + pattern" - "number, maximum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 569 - keyword-independence.json: "maximum + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 570 - keyword-independence.json: "maximum + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 571 - keyword-independence.json: "maxLength + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 572 - keyword-independence.json: "maxLength + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 573 - keyword-independence.json: "maxLength + minimum" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 574 - keyword-independence.json: "maxLength + minimum" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 575 - keyword-independence.json: "minLength + minimum" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 576 - keyword-independence.json: "minLength + minimum" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 577 - keyword-independence.json: "minLength + minimum" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 578 - keyword-independence.json: "minLength + minimum" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 579 - keyword-independence.json: "minimum + pattern" - "number, minimum invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 580 - keyword-independence.json: "minimum + pattern" - "number, minimum valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 581 - keyword-independence.json: "minimum + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 582 - keyword-independence.json: "minimum + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 583 - keyword-independence.json: "maxLength + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 584 - keyword-independence.json: "maxLength + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 585 - keyword-independence.json: "maxLength + multipleOf" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 586 - keyword-independence.json: "maxLength + multipleOf" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 587 - keyword-independence.json: "minLength + multipleOf" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 588 - keyword-independence.json: "minLength + multipleOf" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 589 - keyword-independence.json: "minLength + multipleOf" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 590 - keyword-independence.json: "minLength + multipleOf" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 591 - keyword-independence.json: "multipleOf + pattern" - "number, multipleOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 592 - keyword-independence.json: "multipleOf + pattern" - "number, multipleOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 593 - keyword-independence.json: "multipleOf + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 594 - keyword-independence.json: "multipleOf + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 595 - keyword-independence.json: "additionalProperties + maxLength" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 596 - keyword-independence.json: "additionalProperties + maxLength" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 597 - keyword-independence.json: "additionalProperties + maxLength" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 598 - keyword-independence.json: "additionalProperties + maxLength" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 599 - keyword-independence.json: "additionalProperties + minLength" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 600 - keyword-independence.json: "additionalProperties + minLength" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 601 - keyword-independence.json: "additionalProperties + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 602 - keyword-independence.json: "additionalProperties + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 603 - keyword-independence.json: "additionalProperties + pattern" - "object, additionalProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 604 - keyword-independence.json: "additionalProperties + pattern" - "object, additionalProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 605 - keyword-independence.json: "additionalProperties + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 606 - keyword-independence.json: "additionalProperties + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 607 - keyword-independence.json: "dependencies + maxLength" - "object, dependencies invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 608 - keyword-independence.json: "dependencies + maxLength" - "object, dependencies valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 609 - keyword-independence.json: "dependencies + maxLength" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 610 - keyword-independence.json: "dependencies + maxLength" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 611 - keyword-independence.json: "dependencies + minLength" - "object, dependencies invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 612 - keyword-independence.json: "dependencies + minLength" - "object, dependencies valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 613 - keyword-independence.json: "dependencies + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 614 - keyword-independence.json: "dependencies + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 615 - keyword-independence.json: "dependencies + pattern" - "object, dependencies invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/x"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 616 - keyword-independence.json: "dependencies + pattern" - "object, dependencies valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 617 - keyword-independence.json: "dependencies + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 618 - keyword-independence.json: "dependencies + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 619 - keyword-independence.json: "maxLength + maxProperties" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 620 - keyword-independence.json: "maxLength + maxProperties" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 621 - keyword-independence.json: "maxLength + maxProperties" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 622 - keyword-independence.json: "maxLength + maxProperties" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 623 - keyword-independence.json: "maxProperties + minLength" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 624 - keyword-independence.json: "maxProperties + minLength" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 625 - keyword-independence.json: "maxProperties + minLength" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 626 - keyword-independence.json: "maxProperties + minLength" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 627 - keyword-independence.json: "maxProperties + pattern" - "object, maxProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 628 - keyword-independence.json: "maxProperties + pattern" - "object, maxProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 629 - keyword-independence.json: "maxProperties + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 630 - keyword-independence.json: "maxProperties + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 631 - keyword-independence.json: "maxLength + minProperties" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 632 - keyword-independence.json: "maxLength + minProperties" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 633 - keyword-independence.json: "maxLength + minProperties" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 634 - keyword-independence.json: "maxLength + minProperties" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 635 - keyword-independence.json: "minLength + minProperties" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 636 - keyword-independence.json: "minLength + minProperties" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 637 - keyword-independence.json: "minLength + minProperties" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 638 - keyword-independence.json: "minLength + minProperties" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 639 - keyword-independence.json: "minProperties + pattern" - "object, minProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 640 - keyword-independence.json: "minProperties + pattern" - "object, minProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 641 - keyword-independence.json: "minProperties + pattern" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 642 - keyword-independence.json: "minProperties + pattern" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 643 - keyword-independence.json: "maxLength + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 644 - keyword-independence.json: "maxLength + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 645 - keyword-independence.json: "maxLength + patternProperties" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 646 - keyword-independence.json: "maxLength + patternProperties" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 647 - keyword-independence.json: "minLength + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 648 - keyword-independence.json: "minLength + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 649 - keyword-independence.json: "minLength + patternProperties" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 650 - keyword-independence.json: "minLength + patternProperties" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 651 - keyword-independence.json: "pattern + patternProperties" - "object, patternProperties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/no",
    #       "keywordLocation": "/patternProperties/no"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 652 - keyword-independence.json: "pattern + patternProperties" - "object, patternProperties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 653 - keyword-independence.json: "pattern + patternProperties" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 654 - keyword-independence.json: "pattern + patternProperties" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 655 - keyword-independence.json: "maxLength + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 656 - keyword-independence.json: "maxLength + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 657 - keyword-independence.json: "maxLength + properties" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 658 - keyword-independence.json: "maxLength + properties" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 659 - keyword-independence.json: "minLength + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 660 - keyword-independence.json: "minLength + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 661 - keyword-independence.json: "minLength + properties" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 662 - keyword-independence.json: "minLength + properties" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 663 - keyword-independence.json: "pattern + properties" - "object, properties invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 664 - keyword-independence.json: "pattern + properties" - "object, properties valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 665 - keyword-independence.json: "pattern + properties" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 666 - keyword-independence.json: "pattern + properties" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 667 - keyword-independence.json: "maxLength + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 668 - keyword-independence.json: "maxLength + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 669 - keyword-independence.json: "maxLength + propertyNames" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 670 - keyword-independence.json: "maxLength + propertyNames" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 671 - keyword-independence.json: "minLength + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 672 - keyword-independence.json: "minLength + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 673 - keyword-independence.json: "minLength + propertyNames" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 674 - keyword-independence.json: "minLength + propertyNames" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 675 - keyword-independence.json: "pattern + propertyNames" - "object, propertyNames invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 676 - keyword-independence.json: "pattern + propertyNames" - "object, propertyNames valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 677 - keyword-independence.json: "pattern + propertyNames" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 678 - keyword-independence.json: "pattern + propertyNames" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 679 - keyword-independence.json: "maxLength + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 680 - keyword-independence.json: "maxLength + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 681 - keyword-independence.json: "maxLength + required" - "string, maxLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 682 - keyword-independence.json: "maxLength + required" - "string, maxLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 683 - keyword-independence.json: "minLength + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 684 - keyword-independence.json: "minLength + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 685 - keyword-independence.json: "minLength + required" - "string, minLength invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 686 - keyword-independence.json: "minLength + required" - "string, minLength valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 687 - keyword-independence.json: "pattern + required" - "object, required invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 688 - keyword-independence.json: "pattern + required" - "object, required valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 689 - keyword-independence.json: "pattern + required" - "string, pattern invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 690 - keyword-independence.json: "pattern + required" - "string, pattern valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 691 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const numeric value does not match string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/const_string",
    #       "keywordLocation": "/properties/const_string/const"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/const_string",
    #       "keywordLocation": "/properties/const_string/const"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 692 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const numeric value does match number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 693 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const string value matches string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 694 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "const string value does not match number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/const_number",
    #       "keywordLocation": "/properties/const_number/const"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/const_number",
    #       "keywordLocation": "/properties/const_number/const"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 695 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum numeric value does not match string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/enum_string",
    #       "keywordLocation": "/properties/enum_string/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/enum_string",
    #       "keywordLocation": "/properties/enum_string/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 696 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum numeric value does match number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 697 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum string value matches string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 698 - loose-types-const-enum.json: "type can be inferred from const and enum values" - "enum string value does not match number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/enum_number",
    #       "keywordLocation": "/properties/enum_number/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/enum_number",
    #       "keywordLocation": "/properties/enum_number/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 699 - not-an-anchor.json: "object that is not a schema containing an $anchor property" - "skip traversing definition for a valid result" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 700 - not-an-anchor.json: "object that is not a schema containing an $anchor property" - "const at const_not_anchor does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/const_not_anchor/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/const_not_anchor/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 701 - not-an-id.json: "object that is not a schema containing an $id property" - "skip traversing definition for a valid result" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 702 - not-an-id.json: "object that is not a schema containing an $id property" - "const at const_not_id does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/const_not_id/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/const_not_id/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 703 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination" - "data is valid against first definition" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 704 - ref-and-id.json: "$id must be evaluated before $ref to get the proper $ref destination" - "data is invalid against first definition" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/ref-and-id2/int.json#/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/maximum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "/ref-and-id2/base.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/ref-and-id2/int.json#/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/maximum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "/ref-and-id2/base.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 705 - ref.json: "order of evaluation: $id and $ref" - "data is valid against first definition" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 706 - ref.json: "order of evaluation: $id and $ref" - "data is invalid against first definition" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/ref1/int.json#/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/maximum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "/ref1/base.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/ref1/int.json#/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/maximum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "/ref1/base.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 707 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is valid against first definition" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 708 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is invalid against first definition" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/ref2/base.json#/definitions/bigint/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/maximum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "/ref2/base.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/ref2/base.json#/definitions/bigint/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/maximum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "/ref2/base.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 709 - ref.json: "naive replacement of $ref with its destination is not correct" - "do not evaluate the $ref inside the enum" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 710 - ref.json: "naive replacement of $ref with its destination is not correct" - "match the enum exactly" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 711 - ref.json: "invalid $ref: invalid anchor fragment" - "an invalid anchor fragment" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/definitions/foo/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/definitions/foo/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 712 - ref.json: "invalid $ref: invalid json-pointer fragment" - "an invalid json-pointer fragment" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/definitions/foo/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/definitions/foo/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 713 - ref.json: "base URI change - change folder in subschema with path from root" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 714 - ref.json: "base URI change - change folder in subschema with path from root" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/properties/list/$ref/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/definitions/bar/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/properties/list/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/properties/list/$ref/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/definitions/bar/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/properties/list/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 715 - short-circuit.json: "items (schema form) does not improperly short-circuit" - "single item is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 716 - short-circuit.json: "items (schema form) does not improperly short-circuit" - "second item is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 717 - short-circuit.json: "items (array form) does not improperly short-circuit" - "single item is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 718 - short-circuit.json: "items (array form) does not improperly short-circuit" - "second item is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/1/multipleOf"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/1/multipleOf"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 719 - short-circuit.json: "additionalItems does not improperly short-circuit" - "single additional item is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 720 - short-circuit.json: "additionalItems does not improperly short-circuit" - "second additional item is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/additionalItems/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/additionalItems/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 721 - short-circuit.json: "properties does not improperly short-circuit" - "single property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 722 - short-circuit.json: "properties does not improperly short-circuit" - "second property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/properties/beta/multipleOf"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/properties/beta/multipleOf"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 723 - short-circuit.json: "properties does not improperly short-circuit (boolean schemas)" - "single property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 724 - short-circuit.json: "properties does not improperly short-circuit (boolean schemas)" - "second property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/properties/beta"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/properties/beta"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 725 - short-circuit.json: "patternProperties does not improperly short-circuit" - "single property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 726 - short-circuit.json: "patternProperties does not improperly short-circuit" - "second property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/patternProperties/^b/multipleOf"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/patternProperties/^b/multipleOf"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 727 - short-circuit.json: "patternProperties does not improperly short-circuit (boolean schemas)" - "single property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 728 - short-circuit.json: "patternProperties does not improperly short-circuit (boolean schemas)" - "second property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/patternProperties/^b"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/patternProperties/^b"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 729 - short-circuit.json: "additionalProperties does not improperly short-circuit" - "single property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 730 - short-circuit.json: "additionalProperties does not improperly short-circuit" - "second property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/additionalProperties/multipleOf"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/beta",
    #       "keywordLocation": "/additionalProperties/multipleOf"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 731 - unknownKeyword.json: "past and future keywords are ignored" - "passing" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 732 - unknownKeyword.json: "past and future keywords are ignored" - "failing (string)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 733 - unknownKeyword.json: "past and future keywords are ignored" - "failing (object)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 734 - unknownKeyword.json: "past and future keywords are ignored" - "failing (array)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 735 - unknownKeyword.json: "$recursiveRef without $recursiveAnchor works like $ref" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 736 - unknownKeyword.json: "$recursiveRef without $recursiveAnchor works like $ref" - "recursive match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 737 - unknownKeyword.json: "$recursiveRef without $recursiveAnchor works like $ref" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 738 - unknownKeyword.json: "$recursiveRef without $recursiveAnchor works like $ref" - "recursive mismatch (but $dynamicRef is ignored)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 739 - vocabulary.json: "valid $vocabulary: everything is valid" - "a valid $vocabulary value" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 740 - vocabulary.json: "wrong specification version: but this is draft7" - "invalid $vocabulary value: wrong specification version" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 741 - vocabulary.json: "but this is draft7" - "invalid $vocabulary value: unknown URI" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 742 - optional/format-date-time.json: "leap seconds" - "a valid date-time with a leap second, UTC" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 743 - optional/format-date-time.json: "leap seconds" - "a valid date-time with a leap second, with minus offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 744 - optional/format-date-time.json: "leap seconds" - "an invalid date-time with a leap second, UTC" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 745 - optional/format-date-time.json: "leap seconds" - "an invalid date-time with a leap second, with minus offset" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 746 - optional/format-date.json: "non-ascii digits should be rejected" - "BENGALI DIGIT TWO is not valid in dates" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 747 - optional/format-time.json: "validation of time strings" - "valid leap second, Zulu" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 748 - optional/format-time.json: "validation of time strings" - "invalid leap second, Zulu (wrong hour)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 749 - optional/format-time.json: "validation of time strings" - "invalid leap second, Zulu (wrong minute)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 750 - optional/format-time.json: "validation of time strings" - "valid leap second, positive time-offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 751 - optional/format-time.json: "validation of time strings" - "valid leap second, large positive time-offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 752 - optional/format-time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong hour)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 753 - optional/format-time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong minute)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 754 - optional/format-time.json: "validation of time strings" - "valid leap second, negative time-offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 755 - optional/format-time.json: "validation of time strings" - "valid leap second, large negative time-offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 756 - optional/format-time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong hour)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 757 - optional/format-time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong minute)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 758 - optional/format-time.json: "validation of time strings" - "no time offset" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 759 - optional/format-time.json: "validation of time strings" - "non-ascii digits should be rejected" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 760 - no leaks in the main evaluator object
ok 761 - no leaks in the short-circuiting evaluator object
ok 762 - got unsupported keyword warnings
1..762
ok
t/annotations.t ......................... 
# Subtest: draft7
    ok 1 - user cannot enable annotations for draft7
    ok 2 - user cannot enable annotations for draft7 even as an override
    1..2
ok 1 - draft7
# Subtest: allOf
    ok 1 - evaluation of the allOf keyword fails
    ok 2 - failing allOf: state is correct after evaluating
    ok 3 - evaluation of the allOf keyword succeeds
    ok 4 - passing allOf: state is correct after evaluating
    ok 5 - annotation collection can be turned off in evaluate()
    ok 6 - ...but the value is still true on the object
    ok 7 - collect_annotations defaults to false
    ok 8 - annotation collection can be turned on in evaluate() also
    1..8
ok 2 - allOf
# Subtest: oneOf
    ok 1 - evaluation of the oneOf keyword fails
    ok 2 - failing oneOf: state is correct after evaluating
    ok 3 - evaluation of the oneOf keyword succeeds
    ok 4 - passing oneOf: state is correct after evaluating
    1..4
ok 3 - oneOf
# Subtest: not
    ok 1 - evaluation of the not keyword fails
    ok 2 - failing not: state is correct after evaluating
    ok 3 - evaluation of the not keyword fails
    ok 4 - failing not: state is correct after evaluating (annotations will be ultimately discarded)
    ok 5 - evaluation of the not keyword succeeds
    ok 6 - passing not: state is correct after evaluating
    ok 7 - annotations are still collected inside a "not", otherwise the unevaluatedProperties would have returned false
    1..7
ok 4 - not
# Subtest: prefixItems
    ok 1 - no items means that "prefixItems" succeeds
    ok 2 - no items: no annotation is produced by prefixItems
    ok 3 - one item
    ok 4 - passing prefixItems: one item is annotated
    ok 5 - two items, one failing
    ok 6 - failing prefixItems still collects annotations
    1..6
ok 5 - prefixItems
# Subtest: schema-items
    ok 1 - no items means that "items" succeeds
    ok 2 - no items: no annotation is produced by items
    ok 3 - one item
    ok 4 - passing items: one item is annotated
    ok 5 - two items, one failing
    ok 6 - failing items still collects annotations
    1..6
ok 6 - schema-items
# Subtest: additionalItems
    ok 1 - no items means that "additionalItems" succeeds
    ok 2 - no items: no annotation is produced by additionaltems
    ok 3 - one item
    ok 4 - additionalItems does nothing without items
    1..4
ok 7 - additionalItems
# Subtest: properties
    ok 1 - no items means that "properties" succeeds
    ok 2 - no properties: annotation is still produced by properties
    ok 3 - one property
    ok 4 - passing properties: one property is annotated
    ok 5 - two properties, one failing
    ok 6 - failing properties still collects annotations
    1..6
ok 8 - properties
# Subtest: patternProperties
    ok 1 - no items means that "patternProperties" succeeds
    ok 2 - no pProperties: annotation is still produced by patternProperties
    ok 3 - one property
    ok 4 - passing properties: one property is annotated
    ok 5 - two properties, one failing
    ok 6 - failing patternProperties still collects annotations
    1..6
ok 9 - patternProperties
# Subtest: additionalProperties
    ok 1 - no items means that "additionalProperties" succeeds
    ok 2 - no properties: no annotation is produced by additionalProperties
    ok 3 - one property
    ok 4 - passing additionalProperties: one property is annotated
    ok 5 - two properties, one failing
    ok 6 - failing properties still collects annotations
    1..6
ok 10 - additionalProperties
# Subtest: unevaluatedProperties
    ok 1 - no items means that "unevaluatedProperties" succeeds
    ok 2 - no properties: no annotation is produced by unevaluatedProperties
    ok 3 - one property
    ok 4 - passing unevaluatedProperties: one property is annotated
    ok 5 - two properties, one failing
    ok 6 - failing unevaluatedProperties still collects annotations
    1..6
ok 11 - unevaluatedProperties
# Subtest: collect_annotations and unevaluated keywords
    ok 1 - when "collect_annotations" is explicitly set to false, unevaluatedItems can still be used (valid result, no annotations in result)
    ok 2 - when "collect_annotations" is explicitly set to false, unevaluatedItems can still be used (invalid result)
    ok 3 - when "collect_annotations" is explicitly set to false, unevaluatedProperties can still be used (valid result, no annotations)
    ok 4 - when "collect_annotations" is explicitly set to false, unevaluatedProperties can still be used (invalid result)
    ok 5 - when "collect_annotations" is explicitly set to false, unevaluatedProperties still be used, even in other documents (valid result)
    ok 6 - when "collect_annotations" is explicitly set to false, unevaluatedProperties still be used, even in other documents (invalid result)
    ok 7 - when "collect_annotations" is set to true, unevaluatedItems works, and annotations are returned
    ok 8 - when "collect_annotations" is set to true, unevaluatedProperties passes, and annotations are returned
    ok 9 - when "collect_annotations" is not set, unevaluatedItems still works, but annotations are not returned
    ok 10 - when "collect_annotations" is not set, unevaluatedProperties still works, but annotations are not returned
    ok 11 - ... still works when unevaluated keywords are in a separate document
    ok 12 - items.json does not need collect_annotations => 1 to evaluate itself
    ok 13 - properties.json does not need collect_annotations => 1 to evaluate itself
    ok 14 - referenced schemas still produce annotations internally when needed, even when not required to evaluate themselves in isolation
    1..14
ok 12 - collect_annotations and unevaluated keywords
# Subtest: annotate unknown keywords
    ok 1 - no annotations even when collect_annotations is false
    ok 2 - unknown keywords are collected as annotations
    ok 3 - "unknown" keyword is set on the annotation objects for unknown keywords
    ok 4 - no annotations from unknown keywords in draft2019-09
    1..4
ok 13 - annotate unknown keywords
# Subtest: items + additionalItems, prefixItems + items
    ok 1 - schema-based items + additionalItems
    ok 2 - prefixItems + schema-based items
    1..2
ok 14 - items + additionalItems, prefixItems + items
1..14
ok
t/boolean-data.t ........................ 
# Subtest: strict booleans (default)
    ok 1 - in data, bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ) is a boolean
    ok 2 - in data, bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ) is a boolean
    ok 3 - correct error generated from type for undef
    ok 4 - correct error generated from type for 0
    ok 5 - correct error generated from type for 1
    ok 6 - correct error generated from type for '0'
    ok 7 - correct error generated from type for '1'
    ok 8 - correct error generated from type for 'false'
    ok 9 - correct error generated from type for 'true'
    ok 10 - correct error generated from type for \0
    ok 11 - correct error generated from type for \1
    ok 12 - in data, undef not is a boolean
    ok 13 - in data, 0 not is a boolean
    ok 14 - in data, 1 not is a boolean
    ok 15 - in data, '0' not is a boolean
    ok 16 - in data, '1' not is a boolean
    ok 17 - in data, 'false' not is a boolean
    ok 18 - in data, 'true' not is a boolean
    ok 19 - in data, \0 not is a boolean
    ok 20 - in data, \1 not is a boolean
    1..20
ok 1 - strict booleans (default)
# Subtest: scalarref_booleans = 1
    ok 1 - in data, bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ) is a boolean
    ok 2 - in data, bless( do{\(my $o = 1)}, 'JSON::PP::Boolean' ) is a boolean
    ok 3 - in data, \0 is a boolean
    ok 4 - in data, \1 is a boolean
    ok 5 - correct error generated from type for ['null',undef]
    ok 6 - correct error generated from type for ['integer',0]
    ok 7 - correct error generated from type for ['integer',1]
    ok 8 - correct error generated from type for ['string','0']
    ok 9 - correct error generated from type for ['string','1']
    ok 10 - correct error generated from type for ['string','false']
    ok 11 - correct error generated from type for ['string','true']
    ok 12 - items are all considered unique when types differ, even when perl treats them similarly
    ok 13 - scalarrefs compare as identical to their counterpart booleans
    ok 14 - scalarrefs compare as identical to their counterpart booleans
    ok 15 - scalarrefs compare as identical to their counterpart booleans
    ok 16 - scalarrefs compare as identical to their counterpart booleans
    1..16
ok 2 - scalarref_booleans = 1
1..2
ok
t/boolean-schemas.t ..................... 
ok 1 - schema: false evaluates to: false
ok 2 - invalid result structure looks correct
ok 3 - no exceptions in evaluate
ok 4 - schema: true evaluates to: true
ok 5 - invalid result structure looks correct
ok 6 - no exceptions in evaluate
ok 7 - schema: {} evaluates to: true
ok 8 - invalid result structure looks correct
ok 9 - no exceptions in evaluate
ok 10 - schema: 0 evaluates to: false
ok 11 - invalid result structure looks correct
ok 12 - no exceptions in evaluate
ok 13 - schema: 1 evaluates to: false
ok 14 - invalid result structure looks correct
ok 15 - no exceptions in evaluate
ok 16 - schema: false evaluates to: false
ok 17 - invalid result structure looks correct
ok 18 - no exceptions in evaluate
ok 19 - schema: true evaluates to: false
ok 20 - invalid result structure looks correct
ok 21 - no exceptions in evaluate
ok 22 - invalid schema type results in error
ok 23 - scalarref for schema results in error, even when scalarref_booleans is true
1..23
ok
t/cached-metaschemas.t .................. 
# Subtest: load cached metaschema
    ok 1 - this resource is not yet known
    ok 2 - loaded metaschema from sharedir cache
    ok 3 - this resource is now in the resource index
    1..3
ok 1 - load cached metaschema
# Subtest: resource collision with cached metaschema
    ok 1 - cannot introduce another schema whose id collides with a cached schema, even if it isn't loaded yet
    1..1
ok 2 - resource collision with cached metaschema
1..2
ok
t/callbacks.t ........................... 
# Subtest: evaluation callbacks
    ok 1 - evaluation was successful
    ok 2 - identified all data paths where a $ref was used
    ok 3 - evaluation was not successful
    ok 4 - no callbacks on failure: innermost $ref failed, so all other $refs failed too
    ok 5 - evaluation was successful
    ok 6 - successful subschemas have callbacks called, but not failed subschemas
    1..6
ok 1 - evaluation callbacks
# Subtest: callbacks for keywords without eval subs
    ok 1 - evaluation was successful
    ok 2 - callbacks are triggered for keywords even when they lack evaluation subs
    1..2
ok 2 - callbacks for keywords without eval subs
# Subtest: callbacks that produce errors
    ok 1 - result object contains the callback error, and the other errors
    ok 2 - result object contains the callback error, and short-circuits execution
    1..2
ok 3 - callbacks that produce errors
1..3
ok
t/checksums.t ........................... 
ok 1 - checksum for share/LICENSE is correct
ok 2 - checksum for share/draft2019-09/meta/applicator.json is correct
ok 3 - checksum for share/draft2019-09/meta/content.json is correct
ok 4 - checksum for share/draft2019-09/meta/core.json is correct
ok 5 - checksum for share/draft2019-09/meta/format.json is correct
ok 6 - checksum for share/draft2019-09/meta/meta-data.json is correct
ok 7 - checksum for share/draft2019-09/meta/validation.json is correct
ok 8 - checksum for share/draft2019-09/output/schema.json is correct
ok 9 - checksum for share/draft2019-09/schema.json is correct
ok 10 - checksum for share/draft2020-12/meta/applicator.json is correct
ok 11 - checksum for share/draft2020-12/meta/content.json is correct
ok 12 - checksum for share/draft2020-12/meta/core.json is correct
ok 13 - checksum for share/draft2020-12/meta/format-annotation.json is correct
ok 14 - checksum for share/draft2020-12/meta/format-assertion.json is correct
ok 15 - checksum for share/draft2020-12/meta/meta-data.json is correct
ok 16 - checksum for share/draft2020-12/meta/unevaluated.json is correct
ok 17 - checksum for share/draft2020-12/meta/validation.json is correct
ok 18 - checksum for share/draft2020-12/output/schema.json is correct
ok 19 - checksum for share/draft2020-12/schema.json is correct
ok 20 - checksum for share/draft4/schema.json is correct
ok 21 - checksum for share/draft6/schema.json is correct
ok 22 - checksum for share/draft7/schema.json is correct
1..22
ok
t/content-encoding.t .................... 
# Subtest: unrecognized encoding formats do not result in errors, when not asserting
    ok 1 - in evaluate(), annotations are collected and no validation is performed
    1..1
ok 1 - unrecognized encoding formats do not result in errors, when not asserting
# Subtest: media_type and encoding handlers
    ok 1 - upper-cased names are not accepted
    ok 2 - application/json media_type decoder
    ok 3 - */* has no default match
    ok 4 - default text/plain media_type decoder
    ok 5 - getter uses the casefolded name
    ok 6 - getter matches to wildcard entries
    ok 7 - getter uses new override entry for wildcard
    ok 8 - getter prefers case-insensitive matches to wildcard entries
    ok 9 - getter matches to wildcard entries
    ok 10 - text/* matches itself
    ok 11 - getter still prefers case-insensitive matches to wildcard entries
    ok 12 - text/* is preferred to */*
    ok 13 - */* matches */*, once defined
    ok 14 - */* is returned as a last resort
    ok 15 - application/x-www-form-urlencoded happy path with unicode
    ok 16 - application/x-ndjson happy path with unicode
    ok 17 - application/x-ndjson dies with line number of the bad data
    ok 18 - base64 encoding decoder + application/json media_type decoder
    ok 19 - base64url encoding decoder + application/json media_type decoder
    1..19
ok 2 - media_type and encoding handlers
# Subtest: draft2020-12 assertions
    ok 1 - under the current spec version, content* keywords are not assertions
    ok 2 - contentEncoding first decodes the string, erroring if it can't
    ok 3 - then contentMediaType parses the decoded string, erroring if it can't, and does not continue with the schema
    ok 4 - contentSchema evaluates the decoded data
    ok 5 - null data is handled properly
    ok 6 - contentSchema successfully evaluates the decoded data
    1..6
ok 3 - draft2020-12 assertions
# Subtest: draft7 assertions
    ok 1 - in draft7, assertion behaviour is the default
    ok 2 - in draft7, then contentMediaType parses the decoded string, erroring if it can't, and does not continue with the schema
    ok 3 - under draft7, content* are assertions by default, but contentSchema does not exist
    1..3
ok 4 - draft7 assertions
# Subtest: more assertions
    ok 1 - evaluation aborts with an unrecognized contentEncoding
    ok 2 - evaluation aborts with an unrecognized contentMediaType
    1..2
ok 5 - more assertions
# Subtest: use of an absolute URI and different dialect within contentSchema
    ok 1 - evaluation of the subschema correctly uses the new $id and $schema
    1..1
ok 6 - use of an absolute URI and different dialect within contentSchema
1..6
ok
t/dialects.t ............................ 
# Subtest: invalid use of the $schema keyword
    ok 1 - $schema can only appear at the root of a schema, when there is no canonical URI
    ok 2 - $schema can only appear where the canonical URI has no fragment, when there is a canonical URI
    ok 3 - this is still not a resource root, even in a $ref target
    1..3
ok 1 - invalid use of the $schema keyword
# Subtest: defaults without a $schema keyword
    ok 1 - boolean schema: no $id, no $schema
    ok 2 - boolean schema: defaults to draft2020-12 without a $schema keyword
    ok 3 - object schema: no $id, no $schema
    ok 4 - object schema: defaults to draft2020-12 without a $schema keyword
    ok 5 - "not" keyword, from the Applicator vocabulary, is traversed at the root level
    ok 6 - object schema: $id, no $schema
    ok 7 - named resource defaults to draft2020-12 without a $schema keyword
    ok 8 - boolean schema: no $id, no $schema
    ok 9 - boolean schema: specification_version overridden
    ok 10 - object schema: no $id, no $schema, specification version overridden, other keywords are ignored during traversal
    ok 11 - object schema: no $id, no $schema, specification version overridden, other keywords are ignored during evaluation
    ok 12 - object schema: overridden to draft7
    ok 13 - object schema: $id, no $schema, unrecognized+invalid keywords are ignored during traversal
    ok 14 - object schema: $id, no $schema
    ok 15 - object schema: overridden to draft7 and other keywords are ignored
    1..15
ok 2 - defaults without a $schema keyword
# Subtest: behaviour with a $schema keyword
    ok 1 - object schema: no $id, has $schema, unrecognized+invalid keywords are ignored during traversal
    ok 2 - object schema: no $id, has $schema, unrecognized keywords are ignored during evaluation
    ok 3 - semantics can be changed to another draft version
    ok 4 - schema is accepted with $schema without an empty fragment
    ok 5 - ..and is still recognized as draft7
    ok 6 - $id and $schema, unrecognized+invalid keywords are ignored during traversal
    ok 7 - $id and $schema
    ok 8 - named resource can be changed to another draft version and other keywords are ignored
    ok 9 - no $id, specification version overridden twice; unrecognized+invalid keywords are ignored during traversal
    ok 10 - no $id, specification version overridden twice, other keywords are ignored during evaluation
    ok 11 - unnamed resource can be changed to another draft version
    ok 12 - no $id, specification version overridden twice; unrecognized+invalid keywords are ignored during traversal
    ok 13 - no $id, specification version overridden twice, other keywords are ignored during evaluation
    ok 14 - unnamed resource can be changed to another draft version
    1..14
ok 3 - behaviour with a $schema keyword
# Subtest: setting or changing specification versions in a single document
    ok 1 - $schema can appear adjacent to any $id
    1..1
ok 4 - setting or changing specification versions in a single document
# Subtest: changing specification versions across documents
    ok 1 - no unexpected warnings
    ok 2 - switching between specification versions is acceptable when crossing document boundaries
    ok 3 - resources for top level schema
    ok 4 - resources for subschema
    ok 5 - no unexpected warnings
    ok 6 - switching between specification versions is acceptable when crossing document boundaries
    ok 7 - resources for top level schema
    ok 8 - resources for subschema
    1..8
ok 5 - changing specification versions across documents
# Subtest: changing specification versions within documents
    # no-longer-supported "dependencies" keyword present (at location "https://iam.draft2019-09-3.com"): this should be rewritten as "dependentSchemas" or "dependentRequired" at t/dialects.t line 675.
    ok 1 - switching between specification versions is acceptable within a document, draft2019-09 -> draft7
    ok 2 - resources for top level schema
    ok 3 - resources for subschema
    # no-longer-supported "dependencies" keyword present (at location "https://iam.draft2020-12-4.com"): this should be rewritten as "dependentSchemas" or "dependentRequired" at t/dialects.t line 779.
    ok 4 - switching between specification versions is acceptable within a document, draft7 -> draf2020-12
    ok 5 - resources for top level schema
    ok 6 - resources for subschema
    # no-longer-supported "dependencies" keyword present (at location "https://iam.draft2020-12-5.com"): this should be rewritten as "dependentSchemas" or "dependentRequired" at t/dialects.t line 882.
    ok 7 - switching between specification versions is acceptable within a document, draft2020-12 -> draft4
    ok 8 - resources for top level schema
    ok 9 - resources for subschema
    1..9
ok 6 - changing specification versions within documents
# Subtest: $vocabulary syntax
    ok 1 - $vocabulary syntax checks
    ok 2 - $vocabulary location check - resource root
    ok 3 - $vocabulary location check - document root
    ok 4 - successfully evaluated a metaschema that specifies vocabularies
    ok 5 - metaschemas are not saved on the resource
    ok 6 - ..but once we use the schema as a metaschema,
    ok 7 - ... the vocabulary information is now cached in the evaluator
    1..7
ok 7 - $vocabulary syntax
# Subtest: changing dialects (same specification version)
    ok 1 - evaluation of the subschema in another document correctly uses the new $id and $schema
    ok 2 - evaluation of the subschema in the same document via a $ref correctly uses the new $id and $schema
    ok 3 - evaluation of the subschema in the same document with no $ref correctly uses the new $id and $schema
    ok 4 - no errors found when traversing a document with a malformed keyword outside the dialect
    1..4
ok 8 - changing dialects (same specification version)
# Subtest: standard metaschemas
    ok 1 - main metaschema evaluated against its own URI
    ok 2 - main metaschema evaluated against its own content
    ok 3 - core metaschema evaluated against the main metaschema URI
    ok 4 - core metaschema evaluated against its own content
    1..4
ok 9 - standard metaschemas
# Subtest: custom metaschemas, without custom vocabularies
    ok 1 - specification version detected from standard metaschema URI
    ok 2 - custom metaschema restricts schemas to objects
    ok 3 - custom metaschema recurses to standard metaschema
    ok 4 - objects are acceptable schemas to this metaschema
    ok 5 - metaschemas without $vocabulary can still be used in the $schema keyword
    ok 6 - ..and schema uses the correct spec version and vocabularies
    1..6
ok 10 - custom metaschemas, without custom vocabularies
# Subtest: custom metaschemas, with custom vocabularies
    ok 1 - custom metaschemas are okay, but the document must be known
    ok 2 - $vocabulary location check - document root
    ok 3 - metaschemas must have an i$id
    ok 4 - $vocabulary validation that must be deferred until used as a metaschema
    ok 5 - metaschemas using "$vocabulary" must contain vocabularies
    ok 6 - metaschemas must contain the Core vocabulary
    ok 7 - validation succeeds because "minimum" never gets run
    ok 8 - determined vocabularies to use for this schema
    1..8
ok 11 - custom metaschemas, with custom vocabularies
# Subtest: custom vocabulary classes with add_vocabulary()
    ok 1 - vocabulary class must exist
    ok 2 - vocabulary class must implement the role
    ok 3 - vocabulary class must implement some subs
    ok 4 - vocabulary() sub in the vocabulary class must return uri => specification_version pairs
    ok 5 - parse error from bad vocab sub
    ok 6 - vocabulary() sub in the vocabulary class must contain valid absolute, fragmentless URIs
    ok 7 - vocabulary() sub in the vocabulary class must reference a known specification version
    ok 8 - added a vocabulary sub
    ok 9 - vocabulary was successfully added
    ok 10 - custom vocabulary class has a conflicting evaluation_order
    ok 11 - added another vocabulary sub
    ok 12 - custom vocabulary class used by a custom metaschema used by a schema
    1..12
ok 12 - custom vocabulary classes with add_vocabulary()
# Subtest: $schema points to a boolean schema
    ok 1 - $schema cannot reference a boolean schema
    1..1
ok 13 - $schema points to a boolean schema
1..13
ok
t/document.t ............................ 
# Subtest: boolean document
    ok 1 - boolean schema with no canonical_uri
    ok 2 - boolean schema with invalid canonical_uri (fragment)
    ok 3 - boolean schema with valid canonical_uri
    1..3
ok 1 - boolean document
# Subtest: object document
    ok 1 - object schema with originally provided uri = '<undef>' and no root $id
    ok 2 - object schema with originally provided uri = '' and no root $id
    ok 3 - object schema with originally provided uri = '0' and no root $id
    ok 4 - object schema with originally provided uri = '' and no root $id
    ok 5 - object schema with originally provided uri = '0' and no root $id
    ok 6 - object schema with valid canonical_uri, no root $id
    ok 7 - object schema with originally provided uri = '<undef>' and absolute root $id
    ok 8 - object schema with originally provided uri = '' and absolute root $id
    ok 9 - object schema with originally provided uri = '' and absolute root $id
    ok 10 - originally provided uri is not indexed when overridden by an absolute root $id
    ok 11 - originally provided uri is not indexed when overridden by an absolute root $id
    ok 12 - originally provided uri is not indexed when overridden by an absolute root $id
    ok 13 - when canonical_uri provided, the empty uri is not added as a referenceable uri
    ok 14 - object schema with originally provided uri equal to root $id
    ok 15 - object schema with canonical_uri and root $id, and additional resource schemas as well
    ok 16 - relative $id at root is resolved against provided canonical_id
    ok 17 - relative uri for inner $id
    ok 18 - no root $id; absolute uri with path in subschema resource
    ok 19 - no root $id or canonical_uri provided; anchor is indexed at the root
    ok 20 - canonical_uri provided; empty uri not added as a referenceable uri when an anchor exists
    ok 21 - absolute uri provided at root; adjacent anchor has the same canonical uri
    ok 22 - absolute uri provided at root; anchor lower down has its own canonical uri
    1..22
ok 2 - object document
# Subtest: $id and $anchor as properties
    ok 1 - did not index the $id and $anchor properties as if they were identifier keywords
    1..1
ok 3 - $id and $anchor as properties
# Subtest: $id with an empty fragment
    ok 1 - $id is stored with the empty fragment stripped
    1..1
ok 4 - $id with an empty fragment
# Subtest: $id with a non-empty fragment
    ok 1 - did not index the $id with a non-empty fragment, nor use it as the base for other identifiers
    1..1
ok 5 - $id with a non-empty fragment
# Subtest: $anchor not conforming to syntax
    ok 1 - did not index an $anchor with invalid characters
    ok 2 - did not index a draft7 fragment-only $id with invalid characters, or non-fragment-only $id
    ok 3 - did not index a draft4 fragment-only $id with invalid characters, or non-fragment-only id
    1..3
ok 6 - $anchor not conforming to syntax
# Subtest: $schema not conforming to syntax
    ok 1 - invalid $schema is detected
    1..1
ok 7 - $schema not conforming to syntax
# Subtest: $anchor and $id below an $id that is not at the document root
    ok 1 - canonical_uri uses the path from the innermost $id, not document root $id
    1..1
ok 8 - $anchor and $id below an $id that is not at the document root
# Subtest: JSON pointer and URI escaping
    ok 1 - properly escaped special characters in JSON pointers and URIs
    ok 2 - schema locations are tracked
    ok 3 - non-schema locations are also tracked
    ok 4 - schema locations can be queried
    1..4
ok 9 - JSON pointer and URI escaping
# Subtest: resource collisions
    ok 1 - no collision when adding an identical resource (after resolving with base uri)
    ok 2 - detected collision between document's initial uri and a subschema's uri
    ok 3 - detected collision between two subschema uris in a document
    ok 4 - add first document, resolving resources to a base uri
    ok 5 - the resource in the second document resolves to the same uri as from the first document
    ok 6 - ignored "duplicate" uris embedded in non-schemas
    ok 7 - the correct canonical uri is indexed in the inverted index
    1..7
ok 10 - resource collisions
# Subtest: create document with explicit canonical_uri set to the same as root $id
    ok 1 - there is one single uri indexed to the document
    1..1
ok 11 - create document with explicit canonical_uri set to the same as root $id
# Subtest: canonical_uri identification from a document with errors
    ok 1 - error lower down in document does not result in an inner identifier being used as canonical_uri
    1..1
ok 12 - canonical_uri identification from a document with errors
# Subtest: custom metaschema_uri
    ok 1 - determined vocabularies to use for this schema
    ok 2 - validation succeeds because "minimum" never gets run
    ok 3 - can evaluate at a subschema as well, with the same vocabularies
    ok 4 - schema validates against its metaschema, and "minimum" is ignored
    ok 5 - no leaks in the evaluator object
    1..5
ok 13 - custom metaschema_uri
1..13
ok
t/equality.t ............................ 
# Subtest: equality, using inflated data
    ok 1 - null == null is true
    ok 2 - error is undefined
    ok 3 - no unexpected error encountered
    ok 4 - type of arg 0 was not mutated while making equality check
    ok 5 - type of arg 1 was not mutated while making equality check
    # 
    ok 6 - null == false is false
    ok 7 - two instances differ at the expected place
    ok 8 - error is correct
    ok 9 - no unexpected error encountered
    ok 10 - type of arg 0 was not mutated while making equality check
    ok 11 - type of arg 1 was not mutated while making equality check
    # 
    ok 12 - null == true is false
    ok 13 - two instances differ at the expected place
    ok 14 - error is correct
    ok 15 - no unexpected error encountered
    ok 16 - type of arg 0 was not mutated while making equality check
    ok 17 - type of arg 1 was not mutated while making equality check
    # 
    ok 18 - null == 1 is false
    ok 19 - two instances differ at the expected place
    ok 20 - error is correct
    ok 21 - no unexpected error encountered
    ok 22 - type of arg 0 was not mutated while making equality check
    ok 23 - type of arg 1 was not mutated while making equality check
    ok 24 - arg 1 did not gain a POK
    # 
    ok 25 - null == "1" is false
    ok 26 - two instances differ at the expected place
    ok 27 - error is correct
    ok 28 - no unexpected error encountered
    ok 29 - type of arg 0 was not mutated while making equality check
    ok 30 - type of arg 1 was not mutated while making equality check
    ok 31 - arg 1 did not gain an NOK or IOK
    # 
    ok 32 - ["a", "b", "c"] == ["a", "b", "c"] is true
    ok 33 - error is undefined
    ok 34 - no unexpected error encountered
    ok 35 - type of arg 0 was not mutated while making equality check
    ok 36 - type of arg 1 was not mutated while making equality check
    # 
    ok 37 - ["a", "b", "c"] == ["a", "b"] is false
    ok 38 - two instances differ at the expected place
    ok 39 - error is correct
    ok 40 - no unexpected error encountered
    ok 41 - type of arg 0 was not mutated while making equality check
    ok 42 - type of arg 1 was not mutated while making equality check
    # 
    ok 43 - ["a", "b"] == ["b", "a"] is false
    ok 44 - two instances differ at the expected place
    ok 45 - error is correct
    ok 46 - no unexpected error encountered
    ok 47 - type of arg 0 was not mutated while making equality check
    ok 48 - type of arg 1 was not mutated while making equality check
    # 
    ok 49 - 1 == 1 is true
    ok 50 - error is undefined
    ok 51 - no unexpected error encountered
    ok 52 - type of arg 0 was not mutated while making equality check
    ok 53 - type of arg 1 was not mutated while making equality check
    ok 54 - arg 0 did not gain a POK
    ok 55 - arg 1 did not gain a POK
    # 
    ok 56 - 1 == 1.0 is true
    ok 57 - error is undefined
    ok 58 - no unexpected error encountered
    ok 59 - type of arg 0 was not mutated while making equality check
    ok 60 - type of arg 1 was not mutated while making equality check
    ok 61 - arg 0 did not gain a POK
    ok 62 - arg 1 did not gain a POK
    # 
    ok 63 - 1 == "1.0" is false
    ok 64 - two instances differ at the expected place
    ok 65 - error is correct
    ok 66 - no unexpected error encountered
    ok 67 - type of arg 0 was not mutated while making equality check
    ok 68 - type of arg 1 was not mutated while making equality check
    ok 69 - arg 0 did not gain a POK
    ok 70 - arg 1 did not gain an NOK or IOK
    # 
    ok 71 - "1.1" == 1.1 is false
    ok 72 - two instances differ at the expected place
    ok 73 - error is correct
    ok 74 - no unexpected error encountered
    ok 75 - type of arg 0 was not mutated while making equality check
    ok 76 - type of arg 1 was not mutated while making equality check
    ok 77 - arg 0 did not gain an NOK or IOK
    ok 78 - arg 1 did not gain a POK
    # 
    ok 79 - "1" == 1 is false
    ok 80 - two instances differ at the expected place
    ok 81 - error is correct
    ok 82 - no unexpected error encountered
    ok 83 - type of arg 0 was not mutated while making equality check
    ok 84 - type of arg 1 was not mutated while making equality check
    ok 85 - arg 0 did not gain an NOK or IOK
    ok 86 - arg 1 did not gain a POK
    # 
    ok 87 - "1.1" == 1.1 is false
    ok 88 - two instances differ at the expected place
    ok 89 - error is correct
    ok 90 - no unexpected error encountered
    ok 91 - type of arg 0 was not mutated while making equality check
    ok 92 - type of arg 1 was not mutated while making equality check
    ok 93 - arg 0 did not gain an NOK or IOK
    ok 94 - arg 1 did not gain a POK
    # 
    ok 95 - [1, 2] == [2, 1] is false
    ok 96 - two instances differ at the expected place
    ok 97 - error is correct
    ok 98 - no unexpected error encountered
    ok 99 - type of arg 0 was not mutated while making equality check
    ok 100 - type of arg 1 was not mutated while making equality check
    # 
    ok 101 - {"a" : 1, "b" : 2} == {"a" : 1, "b" : 2} is true
    ok 102 - error is undefined
    ok 103 - no unexpected error encountered
    ok 104 - type of arg 0 was not mutated while making equality check
    ok 105 - type of arg 1 was not mutated while making equality check
    # 
    ok 106 - {"a" : 1} == {"a" : 1.0} is true
    ok 107 - error is undefined
    ok 108 - no unexpected error encountered
    ok 109 - type of arg 0 was not mutated while making equality check
    ok 110 - type of arg 1 was not mutated while making equality check
    # 
    ok 111 - ["école", "ಠ_ಠ"] == ["école", "ಠ_ಠ"] is true
    ok 112 - error is undefined
    ok 113 - no unexpected error encountered
    ok 114 - type of arg 0 was not mutated while making equality check
    ok 115 - type of arg 1 was not mutated while making equality check
    # 
    ok 116 - {"a" : 1, "b" : 2} == {"a" : 1, "b" : 3} is false
    ok 117 - two instances differ at the expected place
    ok 118 - error is correct
    ok 119 - no unexpected error encountered
    ok 120 - type of arg 0 was not mutated while making equality check
    ok 121 - type of arg 1 was not mutated while making equality check
    # 
    ok 122 - {"a" : {"b" : 1, "c" : 2}, "d" : {"e" : 3, "f" : 4}} == {"a" : {"b" : 1, "c" : 2}, "d" : {"e" : 3, "f" : 5}} is false
    ok 123 - two instances differ at the expected place
    ok 124 - error is correct
    ok 125 - no unexpected error encountered
    ok 126 - type of arg 0 was not mutated while making equality check
    ok 127 - type of arg 1 was not mutated while making equality check
    # 
    ok 128 - [{"a" : 1}] == [{"a" : 1, "b" : 2}] is false
    ok 129 - two instances differ at the expected place
    ok 130 - error is correct
    ok 131 - no unexpected error encountered
    ok 132 - type of arg 0 was not mutated while making equality check
    ok 133 - type of arg 1 was not mutated while making equality check
    # 
    ok 134 - [{"a" : 1}] == [{"b" : 2}] is false
    ok 135 - two instances differ at the expected place
    ok 136 - error is correct
    ok 137 - no unexpected error encountered
    ok 138 - type of arg 0 was not mutated while making equality check
    ok 139 - type of arg 1 was not mutated while making equality check
    # 
    ok 140 - {"foo" : [[0]]} == {"foo" : [[0, 1]]} is false
    ok 141 - two instances differ at the expected place
    ok 142 - error is correct
    ok 143 - no unexpected error encountered
    ok 144 - type of arg 0 was not mutated while making equality check
    ok 145 - type of arg 1 was not mutated while making equality check
    # 
    1..145
ok 1 - equality, using inflated data
# Subtest: equality, using JSON strings
    ok 1 - null == null is true
    ok 2 - no unexpected error encountered
    ok 3 - type of arg 0 was not mutated while making equality check
    ok 4 - type of arg 1 was not mutated while making equality check
    # 
    ok 5 - null == 1 is false
    ok 6 - two instances differ at the expected place
    ok 7 - no unexpected error encountered
    ok 8 - type of arg 0 was not mutated while making equality check
    ok 9 - type of arg 1 was not mutated while making equality check
    ok 10 - arg 1 did not gain a POK
    # 
    ok 11 - ["a", "b", "c"] == ["a", "b", "c"] is true
    ok 12 - no unexpected error encountered
    ok 13 - type of arg 0 was not mutated while making equality check
    ok 14 - type of arg 1 was not mutated while making equality check
    # 
    ok 15 - ["a", "b", "c"] == ["a", "b"] is false
    ok 16 - two instances differ at the expected place
    ok 17 - no unexpected error encountered
    ok 18 - type of arg 0 was not mutated while making equality check
    ok 19 - type of arg 1 was not mutated while making equality check
    # 
    ok 20 - ["a", "b"] == ["b", "a"] is false
    ok 21 - two instances differ at the expected place
    ok 22 - no unexpected error encountered
    ok 23 - type of arg 0 was not mutated while making equality check
    ok 24 - type of arg 1 was not mutated while making equality check
    # 
    ok 25 - 1 == 1 is true
    ok 26 - no unexpected error encountered
    ok 27 - type of arg 0 was not mutated while making equality check
    ok 28 - type of arg 1 was not mutated while making equality check
    ok 29 - arg 0 did not gain a POK
    ok 30 - arg 1 did not gain a POK
    # 
    ok 31 - 1 == 1.0 is true
    ok 32 - no unexpected error encountered
    ok 33 - type of arg 0 was not mutated while making equality check
    ok 34 - type of arg 1 was not mutated while making equality check
    ok 35 - arg 0 did not gain a POK
    ok 36 - arg 1 did not gain a POK
    # 
    ok 37 - 10 == 10.0 is true
    ok 38 - no unexpected error encountered
    ok 39 - type of arg 0 was not mutated while making equality check
    ok 40 - type of arg 1 was not mutated while making equality check
    ok 41 - arg 0 did not gain a POK
    ok 42 - arg 1 did not gain a POK
    # 
    ok 43 - [1, 2] == [2, 1] is false
    ok 44 - two instances differ at the expected place
    ok 45 - no unexpected error encountered
    ok 46 - type of arg 0 was not mutated while making equality check
    ok 47 - type of arg 1 was not mutated while making equality check
    # 
    ok 48 - {"a" : 1, "b" : 2} == {"a" : 1, "b" : 2} is true
    ok 49 - no unexpected error encountered
    ok 50 - type of arg 0 was not mutated while making equality check
    ok 51 - type of arg 1 was not mutated while making equality check
    # 
    ok 52 - {"a" : 1} == {"a" : 1.0} is true
    ok 53 - no unexpected error encountered
    ok 54 - type of arg 0 was not mutated while making equality check
    ok 55 - type of arg 1 was not mutated while making equality check
    # 
    ok 56 - ["école", "ಠ_ಠ"] == ["école", "ಠ_ಠ"] is true
    ok 57 - no unexpected error encountered
    ok 58 - type of arg 0 was not mutated while making equality check
    ok 59 - type of arg 1 was not mutated while making equality check
    # 
    ok 60 - {"a" : 1, "b" : 2} == {"a" : 1, "b" : 3} is false
    ok 61 - two instances differ at the expected place
    ok 62 - no unexpected error encountered
    ok 63 - type of arg 0 was not mutated while making equality check
    ok 64 - type of arg 1 was not mutated while making equality check
    # 
    ok 65 - {"a" : {"b" : 1, "c" : 2}, "d" : {"e" : 3, "f" : 4}} == {"a" : {"b" : 1, "c" : 2}, "d" : {"e" : 3, "f" : 5}} is false
    ok 66 - two instances differ at the expected place
    ok 67 - no unexpected error encountered
    ok 68 - type of arg 0 was not mutated while making equality check
    ok 69 - type of arg 1 was not mutated while making equality check
    # 
    1..69
ok 2 - equality, using JSON strings
# Subtest: equality, using scalarref_booleans
    ok 1 - false == true is false
    ok 2 - two instances differ at the expected place
    ok 3 - no unexpected error encountered
    ok 4 - type of arg 0 was not mutated while making equality check
    ok 5 - type of arg 1 was not mutated while making equality check
    # 
    ok 6 - true == true is true
    ok 7 - no unexpected error encountered
    ok 8 - type of arg 0 was not mutated while making equality check
    ok 9 - type of arg 1 was not mutated while making equality check
    # 
    ok 10 - false == false is true
    ok 11 - no unexpected error encountered
    ok 12 - type of arg 0 was not mutated while making equality check
    ok 13 - type of arg 1 was not mutated while making equality check
    # 
    ok 14 - true == false is false
    ok 15 - two instances differ at the expected place
    ok 16 - no unexpected error encountered
    ok 17 - type of arg 0 was not mutated while making equality check
    ok 18 - type of arg 1 was not mutated while making equality check
    # 
    ok 19 - null == false is false
    ok 20 - two instances differ at the expected place
    ok 21 - no unexpected error encountered
    ok 22 - type of arg 0 was not mutated while making equality check
    ok 23 - type of arg 1 was not mutated while making equality check
    # 
    ok 24 - null == false is false
    ok 25 - two instances differ at the expected place
    ok 26 - no unexpected error encountered
    ok 27 - type of arg 0 was not mutated while making equality check
    ok 28 - type of arg 1 was not mutated while making equality check
    # 
    1..28
ok 3 - equality, using scalarref_booleans
# Subtest: equality, using stringy_numbers
    ok 1 - 1 == 1 is true
    ok 2 - no unexpected error encountered
    ok 3 - type of arg 0 was not mutated while making equality check (get_type returns integer)
    ok 4 - type of arg 1 was not mutated while making equality check (get_type returns integer)
    ok 5 - type of arg 0 was not mutated while making equality check (is_type('integer') returns true)
    ok 6 - type of arg 1 was not mutated while making equality check (is_type('integer') returns true)
    ok 7 - arg 0 did not gain a POK
    ok 8 - arg 1 did not gain a POK
    # 
    ok 9 - 1 == 1.0 is true
    ok 10 - no unexpected error encountered
    ok 11 - type of arg 0 was not mutated while making equality check (get_type returns integer)
    ok 12 - type of arg 1 was not mutated while making equality check (get_type returns integer)
    ok 13 - type of arg 0 was not mutated while making equality check (is_type('integer') returns true)
    ok 14 - type of arg 1 was not mutated while making equality check (is_type('integer') returns true)
    ok 15 - arg 0 did not gain a POK
    ok 16 - arg 1 did not gain a POK
    # 
    ok 17 - 1 == "1.0" is true
    ok 18 - no unexpected error encountered
    ok 19 - type of arg 0 was not mutated while making equality check (get_type returns integer)
    ok 20 - type of arg 1 was not mutated while making equality check (get_type returns string)
    ok 21 - type of arg 0 was not mutated while making equality check (is_type('integer') returns true)
    ok 22 - type of arg 1 was not mutated while making equality check (is_type('string') returns true)
    ok 23 - arg 0 did not gain a POK
    ok 24 - arg 1 did not gain an NOK or IOK
    # 
    ok 25 - "1.1" == 1.1 is true
    ok 26 - no unexpected error encountered
    ok 27 - type of arg 0 was not mutated while making equality check (get_type returns string)
    ok 28 - type of arg 1 was not mutated while making equality check (get_type returns number)
    ok 29 - type of arg 0 was not mutated while making equality check (is_type('string') returns true)
    ok 30 - type of arg 1 was not mutated while making equality check (is_type('number') returns true)
    ok 31 - arg 0 did not gain an NOK or IOK
    ok 32 - arg 1 did not gain a POK
    # 
    ok 33 - "1" == 1 is true
    ok 34 - no unexpected error encountered
    ok 35 - type of arg 0 was not mutated while making equality check (get_type returns string)
    ok 36 - type of arg 1 was not mutated while making equality check (get_type returns integer)
    ok 37 - type of arg 0 was not mutated while making equality check (is_type('string') returns true)
    ok 38 - type of arg 1 was not mutated while making equality check (is_type('integer') returns true)
    ok 39 - arg 0 did not gain an NOK or IOK
    ok 40 - arg 1 did not gain a POK
    # 
    ok 41 - "1.1" == 1.1 is true
    ok 42 - no unexpected error encountered
    ok 43 - type of arg 0 was not mutated while making equality check (get_type returns string)
    ok 44 - type of arg 1 was not mutated while making equality check (get_type returns number)
    ok 45 - type of arg 0 was not mutated while making equality check (is_type('string') returns true)
    ok 46 - type of arg 1 was not mutated while making equality check (is_type('number') returns true)
    ok 47 - arg 0 did not gain an NOK or IOK
    ok 48 - arg 1 did not gain a POK
    # 
    ok 49 - "1" == "1.00" is true
    ok 50 - no unexpected error encountered
    ok 51 - type of arg 0 was not mutated while making equality check (get_type returns string)
    ok 52 - type of arg 1 was not mutated while making equality check (get_type returns string)
    ok 53 - type of arg 0 was not mutated while making equality check (is_type('string') returns true)
    ok 54 - type of arg 1 was not mutated while making equality check (is_type('string') returns true)
    ok 55 - arg 0 did not gain an NOK or IOK
    ok 56 - arg 1 did not gain an NOK or IOK
    # 
    ok 57 - "1.10" == "1.1000" is true
    ok 58 - no unexpected error encountered
    ok 59 - type of arg 0 was not mutated while making equality check (get_type returns string)
    ok 60 - type of arg 1 was not mutated while making equality check (get_type returns string)
    ok 61 - type of arg 0 was not mutated while making equality check (is_type('string') returns true)
    ok 62 - type of arg 1 was not mutated while making equality check (is_type('string') returns true)
    ok 63 - arg 0 did not gain an NOK or IOK
    ok 64 - arg 1 did not gain an NOK or IOK
    # 
    ok 65 - "x" == "x" is true
    ok 66 - no unexpected error encountered
    ok 67 - type of arg 0 was not mutated while making equality check (get_type returns string)
    ok 68 - type of arg 1 was not mutated while making equality check (get_type returns string)
    ok 69 - type of arg 0 was not mutated while making equality check (is_type('string') returns true)
    ok 70 - type of arg 1 was not mutated while making equality check (is_type('string') returns true)
    ok 71 - arg 0 did not gain an NOK or IOK
    ok 72 - arg 1 did not gain an NOK or IOK
    # 
    ok 73 - "x" == "y" is false
    ok 74 - two instances differ at the expected place
    ok 75 - no unexpected error encountered
    ok 76 - type of arg 0 was not mutated while making equality check (get_type returns string)
    ok 77 - type of arg 1 was not mutated while making equality check (get_type returns string)
    ok 78 - type of arg 0 was not mutated while making equality check (is_type('string') returns true)
    ok 79 - type of arg 1 was not mutated while making equality check (is_type('string') returns true)
    ok 80 - arg 0 did not gain an NOK or IOK
    ok 81 - arg 1 did not gain an NOK or IOK
    # 
    ok 82 - "x" == 0 is false
    ok 83 - two instances differ at the expected place
    ok 84 - no unexpected error encountered
    ok 85 - type of arg 0 was not mutated while making equality check (get_type returns string)
    ok 86 - type of arg 1 was not mutated while making equality check (get_type returns integer)
    ok 87 - type of arg 0 was not mutated while making equality check (is_type('string') returns true)
    ok 88 - type of arg 1 was not mutated while making equality check (is_type('integer') returns true)
    ok 89 - arg 0 did not gain an NOK or IOK
    ok 90 - arg 1 did not gain a POK
    # 
    ok 91 - 0 == "y" is false
    ok 92 - two instances differ at the expected place
    ok 93 - no unexpected error encountered
    ok 94 - type of arg 0 was not mutated while making equality check (get_type returns integer)
    ok 95 - type of arg 1 was not mutated while making equality check (get_type returns string)
    ok 96 - type of arg 0 was not mutated while making equality check (is_type('integer') returns true)
    ok 97 - type of arg 1 was not mutated while making equality check (is_type('string') returns true)
    ok 98 - arg 0 did not gain a POK
    ok 99 - arg 1 did not gain an NOK or IOK
    # 
    ok 100 - "5" == 5 is true
    ok 101 - no unexpected error encountered
    ok 102 - type of arg 0 was not mutated while making equality check (get_type returns string)
    ok 103 - type of arg 1 was not mutated while making equality check (get_type returns string)
    ok 104 - type of arg 0 was not mutated while making equality check (is_type('string') returns true)
    ok 105 - type of arg 1 was not mutated while making equality check (is_type('string') returns true)
    ok 106 - arg 0 did not gain an NOK or IOK
    # 
    ok 107 - 5 == 5 is true
    ok 108 - no unexpected error encountered
    ok 109 - type of arg 0 was not mutated while making equality check (get_type returns integer)
    ok 110 - type of arg 1 was not mutated while making equality check (get_type returns string)
    ok 111 - type of arg 0 was not mutated while making equality check (is_type('integer') returns true)
    ok 112 - type of arg 1 was not mutated while making equality check (is_type('string') returns true)
    ok 113 - arg 0 did not gain a POK
    # 
    ok 114 - "5" == "five" is false
    ok 115 - two instances differ at the expected place
    ok 116 - no unexpected error encountered
    ok 117 - type of arg 0 was not mutated while making equality check (get_type returns string)
    ok 118 - type of arg 1 was not mutated while making equality check (get_type returns ambiguous type)
    ok 119 - type of arg 0 was not mutated while making equality check (is_type('string') returns true)
    ok 120 - arg 0 did not gain an NOK or IOK
    # 
    ok 121 - 5 == "five" is false
    ok 122 - two instances differ at the expected place
    ok 123 - no unexpected error encountered
    ok 124 - type of arg 0 was not mutated while making equality check (get_type returns integer)
    ok 125 - type of arg 1 was not mutated while making equality check (get_type returns ambiguous type)
    ok 126 - type of arg 0 was not mutated while making equality check (is_type('integer') returns true)
    ok 127 - arg 0 did not gain a POK
    # 
    ok 128 - "five" == "five" is false
    ok 129 - two instances differ at the expected place
    ok 130 - no unexpected error encountered
    ok 131 - type of arg 0 was not mutated while making equality check (get_type returns ambiguous type)
    ok 132 - type of arg 1 was not mutated while making equality check (get_type returns ambiguous type)
    # 
    1..132
ok 4 - equality, using stringy_numbers
1..4
ok
t/errors.t .............................. 
# Subtest: multiple types
    ok 1 - type returned false
    ok 2 - got error count
    ok 3 - correct error generated from type
    ok 4 - result object serializes correctly
    1..4
ok 1 - multiple types
# Subtest: multipleOf
    ok 1 - correct error generated from multipleOf
    1..1
ok 2 - multipleOf
# Subtest: uniqueItems
    ok 1 - correct error generated from uniqueItems
    1..1
ok 3 - uniqueItems
# Subtest: allOf, not, and false schema
    ok 1 - correct errors with locations; did not collect errors inside "not"
    ok 2 - short-circuited results contain fewer errors
    1..2
ok 4 - allOf, not, and false schema
# Subtest: anyOf keeps all errors for false paths when invalid, discards errors for false paths when valid
    ok 1 - correct errors with locations; did not collect errors inside "not"
    ok 2 - short-circuited results contain the same errors (short-circuiting not possible)
    ok 3 - did not collect errors from failure paths from successful anyOf
    ok 4 - no errors collected for true validation
    1..4
ok 5 - anyOf keeps all errors for false paths when invalid, discards errors for false paths when valid
# Subtest: applicators with non-boolean subschemas, discarding intermediary errors - items
    ok 1 - collected all errors from subschemas for failing branches only (passing branches discard errors)
    ok 2 - short-circuited results contain fewer errors
    1..2
ok 6 - applicators with non-boolean subschemas, discarding intermediary errors - items
# Subtest: applicators with non-boolean subschemas, discarding intermediary errors - contains
    ok 1 - collected all errors from subschemas for failing branches only (passing branches discard errors)
    ok 2 - short-circuited results contain the same errors
    1..2
ok 7 - applicators with non-boolean subschemas, discarding intermediary errors - contains
# Subtest: errors with $refs
    ok 1 - errors have correct absolute keyword location via $ref
    1..1
ok 8 - errors with $refs
# Subtest: const and enum
    ok 1 - got details about object differences in errors from const and enum
    1..1
ok 9 - const and enum
# Subtest: exceptions
    ok 1 - attempting to evaluate a json string returns the exception as an error
    ok 2 - exception flag is true on the result
    ok 3 - a subschema of an invalid type returns an error at the right position, and evaluation continues
    ok 4 - exception flag is true on the result
    ok 5 - invalid argument to "type" returns an error at the right position, and evaluation continues
    ok 6 - exception flag is true on the result
    1..6
ok 10 - exceptions
# Subtest: errors after crossing multiple $refs using $id and $anchor
    ok 1 - errors have correct absolute keyword location via $ref
    ok 2 - absolute keyword location is correct, even when not used in the $ref
    1..2
ok 11 - errors after crossing multiple $refs using $id and $anchor
# Subtest: unresolvable $ref to a local resource
    ok 1 - error for a bad $ref reports the correct absolute location that was referred to
    ok 2 - exception flag is true on the result
    1..2
ok 12 - unresolvable $ref to a local resource
# Subtest: unresolvable $ref to a remote resource
    ok 1 - error for a bad $ref reports the correct absolute location that was referred to
    ok 2 - exception flag is true on the result
    1..2
ok 13 - unresolvable $ref to a remote resource
# Subtest: unresolvable $ref to plain-name fragment
    ok 1 - properly handled a bad $ref to an anchor
    ok 2 - exception flag is true on the result
    1..2
ok 14 - unresolvable $ref to plain-name fragment
# Subtest: abort due to a schema error
    ok 1 - exception inside a oneOf (where errors are localized) are still included in the result
    1..1
ok 15 - abort due to a schema error
# Subtest: sorted property names
    ok 1 - property names are considered in sorted order
    1..1
ok 16 - sorted property names
# Subtest: bad regex in schema
    ok 1 - bad "pattern" and "patternProperties" regexes are properly noted in error
    ok 2 - bad "pattern" regex is properly noted in error
    ok 3 - "pattern" regex is now valid, due to the Unicode property becoming defined
    1..3
ok 17 - bad regex in schema
# Subtest: JSON pointer escaping
    ok 1 - JSON pointers are properly escaped; URIs doubly so
    ok 2 - absoluteKeywordLocation is omitted when paths are the same, not counting uri encoding
    ok 3 - use of _schema_path_suffix in a fatal error
    1..3
ok 18 - JSON pointer escaping
# Subtest: absoluteKeywordLocation
    ok 1 - absoluteKeywordLocation is included when different from instanceLocation, even when empty
    ok 2 - absoluteKeywordLocation is not included when the path equals keywordLocation, even if a $ref is present
    ok 3 - absoluteKeywordLocation is never "\#"
    ok 4 - absoluteKeywordLocation reflects the canonical schema uri as it changes when passing through $id
    ok 5 - plain-name fragment in $id does not change canonical schema uri
    1..5
ok 19 - absoluteKeywordLocation
# Subtest: dependentRequired
    ok 1 - dependentRequired traversal error
    1..1
ok 20 - dependentRequired
# Subtest: numbers in output
    ok 1 - numbers in errors do not lose any digits of precision
    1..1
ok 21 - numbers in output
# Subtest: effective_base_uri and overriding starting locations
    ok 1 - error locations are relative to the effective_base_uri, but $ref usage is not restricted
    ok 2 - can alter locations with data_path, traversed_schema_path, effective_base_uri
    1..2
ok 22 - effective_base_uri and overriding starting locations
# Subtest: recommended_response
    ok 1 - recommended_response is not defined when there are no errors
    ok 2 - recommended_response uses the first error in the result
    ok 3 - recommended_response indicates an exception occurred
    ok 4 - recommended_response uses the one from the error that is explicitly set
    1..4
ok 23 - recommended_response
# Subtest: exclusiveMaximum, exclusiveMinimum across drafts
    ok 1 - later drafts; errors are produced separately from the keywords
    ok 2 - later drafts; two errors can result
    ok 3 - draft4: one error comes from maximum, but includes the exclusiveMaximum check
    ok 4 - draft4: maximum + exclusiveMaximum checks are combined
    ok 5 - draft4: exclusive check uses the right boundary
    ok 6 - draft4: maximum check is correct
    1..6
ok 24 - exclusiveMaximum, exclusiveMinimum across drafts
1..24
ok
t/evaluate_json_string.t ................ 
ok 1 - we have a JSON decoder
ok 2 - json data "true" is evaluated successfully
ok 3 - no exceptions in evaluate_json_string on good json
ok 4 - evaluating bad json data returns false, with error
ok 5 - no exceptions in evaluate_json_string on bad json
1..5
ok
t/find-identifiers.t .................... 
# Subtest: $id sets canonical uri
    ok 1 - $id was recognized - $ref was successfully traversed
    ok 2 - resources indexed; document canonical_uri is still unset
    ok 3 - the same document object is indexed under both URIs
    ok 4 - the schema contains no blessed leaf nodes
    1..4
ok 1 - $id sets canonical uri
# Subtest: anchors
    ok 1 - $id was recognized - absolute locations use json paths, not anchors
    ok 2 - internal resource index is correct
    1..2
ok 2 - anchors
# Subtest: $anchor at root without $id
    ok 1 - $id without anchor was recognized - absolute locations use json paths, not anchors
    ok 2 - internal resource index is correct
    1..2
ok 3 - $anchor at root without $id
# Subtest: $ids and $anchors in subschemas after $id changes
    ok 1 - $anchor is legal in a subschema
    ok 2 - internal resource index is correct
    1..2
ok 4 - $ids and $anchors in subschemas after $id changes
# Subtest: invalid $id and $anchor
    ok 1 - bad $id and $anchor are detected, even if bad definitions are not traversed
    ok 2 - "bad" $ids and $anchors that are not actually keywords are not reported as errors
    1..2
ok 5 - invalid $id and $anchor
# Subtest: nested $ids
    ok 1 - errors have the correct location
    ok 2 - properly resolved all the nested $ids
    1..2
ok 6 - nested $ids
# Subtest: multiple documents, each using canonical_uri = ""
    ok 1 - evaluation of schema1
    ok 2 - resources in initial schema are indexed
    ok 3 - successful evaluation of schema2
    ok 4 - resources in second schema are indexed; all resources from first schema are preserved except uri=""
    1..4
ok 7 - multiple documents, each using canonical_uri = ""
# Subtest: multiple documents, each using canonical_uri = "", collisions in other resources
    ok 1 - evaluation of schema1
    ok 2 - resources in initial schema are indexed
    ok 3 - schema2 cannot be evaluated - an internal $id collides with an existing resource
    1..3
ok 8 - multiple documents, each using canonical_uri = "", collisions in other resources
# Subtest: resource collisions in canonical uris
    ok 1 - detected collision between a document's initial uri and a document's subschema's uri
    ok 2 - detected collision between two document subschema uris
    1..2
ok 9 - resource collisions in canonical uris
# Subtest: relative uri in $id
    ok 1 - root schema location is correctly identified
    ok 2 - properly able to traverse a recursive schema using a relative $id
    1..2
ok 10 - relative uri in $id
1..10
ok
t/formats.t ............................. 
# Subtest: no validation
    ok 1 - validate_formats=0 disables format assertion behaviour; annotation is still produced
    ok 2 - format validation can be turned off in evaluate()
    1..2
ok 1 - no validation
# Subtest: simple validation
    ok 1 - non-string values are valid, and produce an annotation
    ok 2 - simple success
    ok 3 - simple failure
    ok 4 - format_validation defaults to false
    ok 5 - format validation can be turned on in evaluate()
    ok 6 - ...but the value is still false on the object
    1..6
ok 2 - simple validation
# Subtest: override a format sub
    ok 1 - check syntax of override to existing format via constructor
    ok 2 - check syntax of override format name to existing format via setter
    ok 3 - check syntax of override definition value to existing format via setter
    ok 4 - type is required if passing a hashref
    ok 5 - cannot override a core format to support a different data type
    ok 6 - can override a core format definition, as long as it uses the same type
    ok 7 - check syntax of implementation for a new format
    ok 8 - check syntax of implementation when adding an override to existing format
    ok 9 - check syntax of implementation when adding a new format
    ok 10 - swapping out format implementation turns success into failure; wrong types are still valid
    ok 11 - can override a custom format definition to use a different type
    1..11
ok 3 - override a format sub
# Subtest: toggle validate_formats after adding schema
    ok 1 - assertion behaviour is off initially
    ok 2 - assertion behaviour can be enabled later with an already-loaded schema
    ok 3 - valid assertion behaviour does not die
    ok 4 - a schema document can be used with another evaluator with assertion behaviour
    ok 5 - valid assertion behaviour does not die
    1..5
ok 4 - toggle validate_formats after adding schema
# Subtest: custom metaschemas
    ok 1 - custom metaschema using format-assertion=false validates formats
    ok 2 - custom metaschema using format-assertion=true validates formats
    1..2
ok 5 - custom metaschemas
# Subtest: core formats added after draft7
    ok 1 - duration is not implemented in draft7
    ok 2 - uuid is not implemented in draft7
    1..2
ok 6 - core formats added after draft7
# Subtest: unimplemented core formats
    ok 1 - draft4 with validate_formats = 1, no error when an unimplemented core format is used
    ok 2 - draft6 with validate_formats = 1, no error when an unimplemented core format is used
    ok 3 - draft7 with validate_formats = 1, no error when an unimplemented core format is used
    ok 4 - draft2019-09 with validate_formats = 1, no error when an unimplemented core format is used
    ok 5 - draft2020-12 with validate_formats = 1, no error when an unimplemented core format is used
    ok 6 - draft2020-12 with Format-Assertion vocabulary: error when an unimplemented core format is used
    ok 7 - draft2020-12 with Format-Assertion vocabulary: error is seen even when containing subschema would be true
    1..7
ok 7 - unimplemented core formats
# Subtest: unknown custom formats
    ok 1 - draft4: for format validation with the Format-Annotation vocabulary, unrecognized format attributes do not cause validation failure
    ok 2 - draft6: for format validation with the Format-Annotation vocabulary, unrecognized format attributes do not cause validation failure
    ok 3 - draft7: for format validation with the Format-Annotation vocabulary, unrecognized format attributes do not cause validation failure
    ok 4 - draft2019-09: for format validation with the Format-Annotation vocabulary, unrecognized format attributes do not cause validation failure; annotation is still produced
    ok 5 - draft2020-12: for format validation with the Format-Annotation vocabulary, unrecognized format attributes do not cause validation failure; annotation is still produced
    ok 6 - draft2020-12: for format validation with the Format-Assertion vocabulary, unrecognized format attributes are detected at traverse time
    1..6
ok 8 - unknown custom formats
# Subtest: format: pure_integer
    ok 1 - pure_integer format with type
    ok 2 - pure_integer format without type
    1..2
ok 9 - format: pure_integer
# Subtest: formats supporting multiple core types
    ok 1 - int64 format without type - accepts both numbers and strings
    ok 2 - int64 format without type - accepts both numbers and strings
    1..2
ok 10 - formats supporting multiple core types
# Subtest: stringy numbers with a numeric format
    ok 1 - FormatAnnotation+validate_formats: strings that look like numbers can be validated against a numeric format when stringy_numbers=1
    ok 2 - FormatAssertion: strings that look like numbers can be validated against a numeric format when stringy_numbers=1
    1..2
ok 11 - stringy numbers with a numeric format
# Subtest: annotation formats using implementations that rely on optional dependencies
    ok 1 - can annotate a non-string against formats without their optional dependencies, without dying
    1..1
ok 12 - annotation formats using implementations that rely on optional dependencies
# Subtest: assertion formats using implementations that rely on optional dependencies
    ok 1 - can assert a non-string against formats without their optional dependencies, without dying
    ok 2 - in assertion mode, we immediately abort when encountering a format that throws an exception
    1..2
ok 13 - assertion formats using implementations that rely on optional dependencies
1..13
ok
# AUTHOR_TESTING: <undef>
# AUTOMATED_TESTING: 1
# EXTENDED_TESTING: <undef>
# NO_TODO: <undef>
# TEST_DIR: <undef>
# NO_SHORT_CIRCUIT: <undef>
# 
# 
# generated with:              Test::JSON::Schema::Acceptance 1.027
# specification version:       draft2019-09
# using custom test directory: t/invalid-schemas
# optional tests included:     no
# 
# filename                                  pass  todo-fail  fail
# ---------------------------------------------------------------
# invalid-input.json                           2          0     0
# ref.json                                     2          0     0
# vocabulary.json                              4          0     0
# ---------------------------------------------------------------
# TOTAL                                        8          0     0
# 
# Congratulations, all non-optional tests are passing!
# 
# AUTHOR_TESTING: <undef>
# AUTOMATED_TESTING: 1
# EXTENDED_TESTING: <undef>
# NO_TODO: <undef>
# TEST_DIR: <undef>
# NO_SHORT_CIRCUIT: <undef>
# 
# 
# generated with:              Test::JSON::Schema::Acceptance 1.027
# specification version:       draft2020-12
# using custom test directory: t/invalid-schemas
# optional tests included:     no
# 
# filename                                  pass  todo-fail  fail
# ---------------------------------------------------------------
# invalid-input.json                           2          0     0
# ref.json                                     2          0     0
# vocabulary.json                              4          0     0
# ---------------------------------------------------------------
# TOTAL                                        8          0     0
# 
# Congratulations, all non-optional tests are passing!
# 
t/invalid-schemas.t ..................... 
# running tests in /build/reproducible-path/libjson-schema-modern-perl-0.603/t/invalid-schemas against draft2019-09...
# 
ok 1 - invalid-input.json: "invalid user input: type (string)" - "graceful error from 'type' (string)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "type value is not a string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "type value is not a string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 2 - invalid-input.json: "invalid user input: type (array)" - "graceful error from 'type' (array)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "unrecognized type \"<null>\"",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "unrecognized type \"<null>\"",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 3 - ref.json: "invalid $ref: unencoded characters" - "unencoded characters in $ref uri" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$defs/foo/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$defs/foo/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 4 - ref.json: "invalid $ref: non-ascii characters" - "non-ascii characters in $ref uri" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$defs/foo/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$defs/foo/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 5 - vocabulary.json: "invalid $vocabulary: need boolean values" - "an invalid $vocabulary value (value should be a boolean)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$vocabulary value at \"https://foo.com\" is not a boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$vocabulary/https:~1~1foo.com"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$vocabulary value at \"https://foo.com\" is not a boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$vocabulary/https:~1~1foo.com"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 6 - vocabulary.json: "invalid $vocabulary: uri must not have unencoded characters" - "unencoded characters in $vocabulary uri" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "\"http://foo^bar/path\" is not a valid URI",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$vocabulary/http:~1~1foo^bar~1path"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "\"http://foo^bar/path\" is not a valid URI",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$vocabulary/http:~1~1foo^bar~1path"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 7 - vocabulary.json: "invalid $vocabulary: non-ascii characters in uri" - "non-ascii characters in $vocabulary uri" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "\"https://ಠ_ಠ.com\" is not a valid URI",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$vocabulary/https:~1~1ಠ_ಠ.com"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "\"https://ಠ_ಠ.com\" is not a valid URI",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$vocabulary/https:~1~1ಠ_ಠ.com"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 8 - vocabulary.json: "invalid $vocabulary: missing scheme" - "$vocabulary uri is missing a scheme" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "\"foo.com\" is not a valid URI",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$vocabulary/foo.com"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "\"foo.com\" is not a valid URI",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$vocabulary/foo.com"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 9 - no leaks in the main evaluator object
ok 10 - no leaks in the short-circuiting evaluator object
# running tests in /build/reproducible-path/libjson-schema-modern-perl-0.603/t/invalid-schemas against draft2020-12...
# 
ok 11 - invalid-input.json: "invalid user input: type (string)" - "graceful error from 'type' (string)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "type value is not a string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "type value is not a string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 12 - invalid-input.json: "invalid user input: type (array)" - "graceful error from 'type' (array)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "unrecognized type \"<null>\"",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "unrecognized type \"<null>\"",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 13 - ref.json: "invalid $ref: unencoded characters" - "unencoded characters in $ref uri" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$defs/foo/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$defs/foo/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 14 - ref.json: "invalid $ref: non-ascii characters" - "non-ascii characters in $ref uri" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$defs/foo/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$ref value is not a valid URI reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$defs/foo/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 15 - vocabulary.json: "invalid $vocabulary: need boolean values" - "an invalid $vocabulary value (value should be a boolean)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "$vocabulary value at \"https://foo.com\" is not a boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$vocabulary/https:~1~1foo.com"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "$vocabulary value at \"https://foo.com\" is not a boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$vocabulary/https:~1~1foo.com"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 16 - vocabulary.json: "invalid $vocabulary: uri must not have unencoded characters" - "unencoded characters in $vocabulary uri" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "\"http://foo^bar/path\" is not a valid URI",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$vocabulary/http:~1~1foo^bar~1path"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "\"http://foo^bar/path\" is not a valid URI",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$vocabulary/http:~1~1foo^bar~1path"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 17 - vocabulary.json: "invalid $vocabulary: non-ascii characters in uri" - "non-ascii characters in $vocabulary uri" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "\"https://ಠ_ಠ.com\" is not a valid URI",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$vocabulary/https:~1~1ಠ_ಠ.com"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "\"https://ಠ_ಠ.com\" is not a valid URI",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$vocabulary/https:~1~1ಠ_ಠ.com"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 18 - vocabulary.json: "invalid $vocabulary: missing scheme" - "$vocabulary uri is missing a scheme" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "\"foo.com\" is not a valid URI",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$vocabulary/foo.com"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "\"foo.com\" is not a valid URI",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$vocabulary/foo.com"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 19 - no leaks in the main evaluator object
ok 20 - no leaks in the short-circuiting evaluator object
1..20
ok
t/max_traversal_depth.t ................. 
ok 1 - evaluation is halted when traversal gets too deep
ok 2 - evaluation is halted when an instance location is evaluated against the same schema location a second time
ok 3 - the seen counter does not confuse URI paths and fragments: /properties/foo vs \#/properties/foo
ok 4 - the seen counter does not confuse two subschemas that both apply the same definition to the same instance location
1..4
ok
t/multipleOf.t .......................... 
# Subtest: multipleOf, native types
    ok 1 - 4 is a multiple of 2
    ok 2 - 4 is a multiple of 1
    ok 3 - 4 is not a multiple of 3
    ok 4 - 4.5 is a multiple of 1.5
    ok 5 - 4.5 is not a multiple of 1
    ok 6 - 4.5 is not a multiple of 3
    ok 7 - 4 is a multiple of 2
    ok 8 - 4 is not a multiple of 2.5
    ok 9 - 5 is a multiple of 2.5
    ok 10 - 4.5 is a multiple of 2.25
    ok 11 - 4.5 is not a multiple of 2.5
    ok 12 - 4.5 is not a multiple of 2
    ok 13 - -9223372036854775808 is a multiple of 0.5
    ok 14 - 9223372036854775807 is a multiple of 0.5
    ok 15 - 18446744073709551615 is a multiple of 0.5
    1..15
ok 1 - multipleOf, native types
# Subtest: multipleOf, data is a bignum
    ok 1 - 4 is a multiple of 2
    ok 2 - 4 is a multiple of 1
    ok 3 - 4 is not a multiple of 3
    ok 4 - 4.5 is a multiple of 1.5
    ok 5 - 4.5 is not a multiple of 1
    ok 6 - 4.5 is not a multiple of 3
    ok 7 - 4 is a multiple of 2
    ok 8 - 4 is not a multiple of 2.5
    ok 9 - 5 is a multiple of 2.5
    ok 10 - 4.5 is a multiple of 2.25
    ok 11 - 4.5 is not a multiple of 2.5
    ok 12 - 4.5 is not a multiple of 2
    ok 13 - -9223372036854775808 is a multiple of 0.5
    ok 14 - 9223372036854775807 is a multiple of 0.5
    ok 15 - 18446744073709551615 is a multiple of 0.5
    1..15
ok 2 - multipleOf, data is a bignum
# Subtest: multipleOf, multipleOf is a bignum
    ok 1 - 4 is a multiple of 2
    ok 2 - 4 is a multiple of 1
    ok 3 - 4 is not a multiple of 3
    ok 4 - 4.5 is a multiple of 1.5
    ok 5 - 4.5 is not a multiple of 1
    ok 6 - 4.5 is not a multiple of 3
    ok 7 - 4 is a multiple of 2
    ok 8 - 4 is not a multiple of 2.5
    ok 9 - 5 is a multiple of 2.5
    ok 10 - 4.5 is a multiple of 2.25
    ok 11 - 4.5 is not a multiple of 2.5
    ok 12 - 4.5 is not a multiple of 2
    ok 13 - -9223372036854775808 is a multiple of 0.5
    ok 14 - 9223372036854775807 is a multiple of 0.5
    ok 15 - 18446744073709551615 is a multiple of 0.5
    1..15
ok 3 - multipleOf, multipleOf is a bignum
# Subtest: multipleOf, data and multipleOf are bignums
    ok 1 - 4 is a multiple of 2
    ok 2 - 4 is a multiple of 1
    ok 3 - 4 is not a multiple of 3
    ok 4 - 4.5 is a multiple of 1.5
    ok 5 - 4.5 is not a multiple of 1
    ok 6 - 4.5 is not a multiple of 3
    ok 7 - 4 is a multiple of 2
    ok 8 - 4 is not a multiple of 2.5
    ok 9 - 5 is a multiple of 2.5
    ok 10 - 4.5 is a multiple of 2.25
    ok 11 - 4.5 is not a multiple of 2.5
    ok 12 - 4.5 is not a multiple of 2
    ok 13 - -9223372036854775808 is a multiple of 0.5
    ok 14 - 9223372036854775807 is a multiple of 0.5
    ok 15 - 18446744073709551615 is a multiple of 0.5
    1..15
ok 4 - multipleOf, data and multipleOf are bignums
1..4
ok
t/output_format.t ....................... 
ok 1 - output_format defaults to basic
ok 2 - Result object gets the output_format from the evaluator
ok 3 - basic format includes all errors linearly
ok 4 - flag format only includes the valid property
ok 5 - terse format omits errors from redundant applicator keywords
ok 6 - basic format includes all errors linearly
ok 7 - terse format does not omit these crucial errors
# Subtest: strict_basic
    ok 1 - strict_basic turns json pointers into URIs, including uri escapes
    1..1
ok 8 - strict_basic
# Subtest: AND two result objects together
    ok 1 - ANDing true and false results = invalid, but errors and annotations both preserved
    ok 2 - ANDing two true results = valid
    ok 3 - ANDing two false results = invalid
    ok 4 - only Result objects can be processed
    ok 5 - ANDing a result with itself is a no-op
    1..5
ok 9 - AND two result objects together
# Subtest: annotations
    ok 1 - by default, annotations are included in the formatted output
    ok 2 - but inclusion can be disabled
    1..2
ok 10 - annotations
# Subtest: data_only
    ok 1 - data_only format outputs a string of data locations only, with duplicates removed
    ok 2 - data_only format uses keyword locations when result came from traverse
    1..2
ok 11 - data_only
1..11
ok
t/pattern.t ............................. 
ok 1 - unchanged LATIN SMALL LETTER E WITH ACUTE does not match the ascii range [a-z]
ok 2 - unchanged LATIN SMALL LETTER E WITH ACUTE does match the "word" character class, because unicode semantics are used for matching
ok 3 - upgraded LATIN SMALL LETTER E WITH ACUTE does not match the ascii range [a-z]
ok 4 - upgraded LATIN SMALL LETTER E WITH ACUTE does match the "word" character class, because unicode semantics are used for matching
ok 5 - downgraded LATIN SMALL LETTER E WITH ACUTE does not match the ascii range [a-z]
ok 6 - downgraded LATIN SMALL LETTER E WITH ACUTE does match the "word" character class, because unicode semantics are used for matching
# Subtest: empty pattern
    ok 1 - empty pattern in "pattern" will correctly match
    ok 2 - empty pattern in "patternProperties" will correctly match
    1..2
ok 7 - empty pattern
1..7
ok
t/ref.t ................................. 
# Subtest: local JSON pointer
    ok 1 - can follow local $ref to a true schema
    ok 2 - can follow local $ref to a false schema
    ok 3 - got error for unresolvable ref
    ok 4 - no exception
    1..4
ok 1 - local JSON pointer
# Subtest: fragment with URI-escaped and JSON Pointer-escaped characters
    ok 1 - can follow $ref with escaped components
    1..1
ok 2 - fragment with URI-escaped and JSON Pointer-escaped characters
# Subtest: local anchor
    ok 1 - can follow local $ref to an $anchor to a true schema
    ok 2 - can follow local $ref to an $anchor to a false schema
    ok 3 - got error for unresolvable ref
    ok 4 - no exception
    1..4
ok 3 - local anchor
# Subtest: $id with an empty fragment
    ok 1 - $id with empty fragment can be found by $ref that did not include it; fragment not included in error either
    1..1
ok 4 - $id with an empty fragment
# Subtest: $recursiveRef without nesting behaves like $ref
    ok 1 - $recursiveRef without nested $recursiveAnchor behaves like $ref
    1..1
ok 5 - $recursiveRef without nesting behaves like $ref
# Subtest: $recursiveRef without $recursiveAnchor behaves like $ref
    ok 1 - $recursiveRef without $recursiveAnchor behaves like $ref
    1..1
ok 6 - $recursiveRef without $recursiveAnchor behaves like $ref
# Subtest: $recursiveAnchor must be at a schema resource root
    ok 1 - $recursiveAnchor can only appear at a schema resource root
    ok 2 - schema now valid when an $id is added
    ok 3 - $recursiveAnchor can only appear at a schema resource root
    ok 4 - properly detecting a bad $recursiveAnchor even before passing through a $ref
    1..4
ok 7 - $recursiveAnchor must be at a schema resource root
# Subtest: $recursiveAnchor and $recursiveRef - standard usecases
    ok 1 - validation requires the override that is not in scope
    ok 2 - $recursiveRef requires a $recursiveAnchor that does not exist
    ok 3 - $recursiveRef with both $recursiveAnchors in scope
    1..3
ok 8 - $recursiveAnchor and $recursiveRef - standard usecases
# Subtest: $recursiveRef without $recursiveAnchor
    ok 1 - $ref - one level recursion
    ok 2 - $recursiveRef with no $recursiveAnchor in scope has the same outcome
    1..2
ok 9 - $recursiveRef without $recursiveAnchor
# Subtest: $recursiveAnchor in our dynamic scope, but not in the target schema
    ok 1 - $recursiveAnchor does not exist in the target schema - local recursion only, so integers match
    ok 2 - $recursiveAnchor does not exist in the target schema - no recursion
    ok 3 - $recursiveAnchor does not exist in the target schema - local recursion only
    1..3
ok 10 - $recursiveAnchor in our dynamic scope, but not in the target schema
# Subtest: $dynamicRef without nesting behaves like $ref
    ok 1 - $dynamicRef without nested $dynamicAnchor behaves like $ref
    1..1
ok 11 - $dynamicRef without nesting behaves like $ref
# Subtest: $recursiveRef without $dynamicAnchor behaves like $ref
    ok 1 - $dynamicRef without $dynamicAnchor behaves like $ref
    1..1
ok 12 - $recursiveRef without $dynamicAnchor behaves like $ref
# Subtest: $dynamicAnchor and $dynamicRef - standard usecases
    ok 1 - validation requires the override that is not in scope
    ok 2 - $dynamicRef requires a $dynamicAnchor that does not exist
    ok 3 - $dynamicRef must use a URI containing the dynamic anchor fragment
    ok 4 - there is no outer $dynamicAnchor in scope to recurse to
    ok 5 - we have an outer $dynamicAnchor, and are using the fragment URI, but we used $ref rather than $dynamicRef
    ok 6 - there is an outer $dynamicAnchor in scope to recurse to, but $dynamicRef must use a URI containing the dynamic anchor fragment
    ok 7 - now everything is in place to recurse to the base
    ok 8 - there is no $dynamicAnchor at the original target, and no anchor used in the target URI
    1..8
ok 13 - $dynamicAnchor and $dynamicRef - standard usecases
# Subtest: $dynamicRef to $dynamicAnchor not directly in the evaluation path
    ok 1 - second dynamic anchor is not in the evaluation path, but we found it via dynamic scope - type does not match
    ok 2 - regular $anchor in dynamic scope should not be used by $dynamicRef
    ok 3 - some other $dynamicAnchor in dynamic scope should not be used by $dynamicRef
    ok 4 - second dynamic anchor is not in the evaluation path, but we found it via dynamic scope - type matches
    ok 5 - the first dynamic scope is set by document uri, not just the $id keyword
    1..5
ok 14 - $dynamicRef to $dynamicAnchor not directly in the evaluation path
# Subtest: after leaving a dynamic scope, it should not be used by a $dynamicRef
    ok 1 - first_scope is no longer in scope, so it is not used by $dynamicRef
    1..1
ok 15 - after leaving a dynamic scope, it should not be used by a $dynamicRef
# Subtest: anchors do not match
    ok 1 - $dynamicRef goes to enhanced schema
    ok 2 - $dynamicRef -> $dynamicAnchor -> $anchor is a no go: we stay at the original schema
    1..2
ok 16 - anchors do not match
# Subtest: reference to a non-schema location
    ok 1 - $ref to a non-schema is not permitted
    ok 2 - $dynamicRef to a non-schema is not permitted
    ok 3 - $recursiveRef to a non-schema is not permitted
    ok 4 - $schema to a non-schema is not permitted
    1..4
ok 17 - reference to a non-schema location
# Subtest: evaluate at a non-schema location
    ok 1 - evaluating at a non-schema location is not permitted
    1..1
ok 18 - evaluate at a non-schema location
1..18
ok
t/serialization.t ....................... 
ok 1 - evaluated against an empty schema
ok 2 - evaluate data against schema with custom dialect; format and unknown keywords are collected as annotations
ok 3 - evaluate data against schema with custom dialect; format-annotation is used
ok 4 - frozen object contains all the right keys
ok 5 - thawed object contains all the right keys
ok 6 - evaluate again against an empty schema
ok 7 - in thawed object, evaluate data against schema with custom dialect; format and unknown keywords are collected as annotations
ok 8 - evaluate again against an empty schema
ok 9 - core vocabulary_class for a different spec version works in a thawed object
ok 10 - format-assertion vocabulary_class works in a thawed object
ok 11 - metaschema_vocabulary_classes works in a thawed object
ok 12 - media_type works in a thawed object
ok 13 - encoding works in a thawed object
# Subtest: thaw object in a separate process
    ok 1 - thawed object in a new process contains all the right keys
    ok 2 - in thawed object, evaluate data against schema with custom dialect; format and unknown keywords are collected as annotations
    ok 3 - evaluate data against schema with custom dialect; format-assertion is used
    1..3
ok 14 - thaw object in a separate process
ok 15 - child process finished successfully
1..15
ok
t/specification_version.t ............... 
ok 1 - unrecognized $SPECIFICATION_VERSION
# Subtest: specification aliases
    ok 1 - 2020-12 is an alias for draft2020-12
    ok 2 - 2019-09 is an alias for draft2019-09
    ok 3 - 7 is an alias for draft7
    1..3
ok 2 - specification aliases
# Subtest: $ref and older specification versions
    ok 1 - $schema and $ref cannot be used together, when $schema is too old
    1..1
ok 3 - $ref and older specification versions
# Subtest: <= draft7: $ref in combination with any other keyword causes the other keywords to be ignored
    ok 1 - keywords adjacent to $ref are not evaluated
    1..1
ok 4 - <= draft7: $ref in combination with any other keyword causes the other keywords to be ignored
# Subtest: $ref adjacent to a path used in a $ref
    ok 1 - the presence of $ref also blocks the use of other $refs to adjacent locations
    1..1
ok 5 - $ref adjacent to a path used in a $ref
# Subtest: $defs support
    ok 1 - $defs is not recognized in <= draft7
    ok 2 - $defs is supported in > draft7
    1..2
ok 6 - $defs support
# Subtest: definitions support
    ok 1 - definitions is not recognized in >= draft2019-09
    ok 2 - warned when using no-longer-supported keyword
    ok 3 - definitions is supported in <= draft7
    1..3
ok 7 - definitions support
# Subtest: dependencies, dependentRequired, dependentSchemas
    ok 1 - dependencies is not recognized in >= draft2019-09
    ok 2 - warned when using no-longer-supported keyword
    ok 3 - dependentRequired is supported in >= draft2019-09
    ok 4 - dependentSchemas is supported in >= draft2019-09
    ok 5 - dependencies is supported in <= draft7
    ok 6 - dependentRequired is not recognized in <= draft7
    ok 7 - dependentSchemas is not recognized in <= draft7
    1..7
ok 8 - dependencies, dependentRequired, dependentSchemas
# Subtest: prefixItems, items and additionalItems
    ok 1 - prefixitems+items works when specification_version >= draft2020-12
    ok 2 - array form of items not supported when specification_version >= draft2020-12
    ok 3 - additionalitems not recognized when specification_version >= draft2020-12
    ok 4 - warned when using no-longer-supported keyword
    ok 5 - prefixitems not supported when specification_version specifies other than draft2020-12
    ok 6 - array-based items in >= draft2020-12
    ok 7 - prefixItems + additionalItems
    ok 8 - warned when using no-longer-supported keyword
    ok 9 - prefixItems + schema-based items
    ok 10 - schema-based items + additionalItems, failure case
    ok 11 - warned when using no-longer-supported keyword
    ok 12 - schema-based items + additionalItems, passing case
    ok 13 - warned when using no-longer-supported keyword
    1..13
ok 9 - prefixItems, items and additionalItems
1..9
ok
t/strict.t .............................. 
ok 1 - strict defaults to false
ok 2 - by default, unknown keywords are allowed in evaluate()
ok 3 - strict mode disallows unknown keywords during evaluation via a config override
ok 4 - by default, unknown keywords are allowed in validate_schema()
ok 5 - strict mode disallows unknown keywords in validate_schema() via a config override
ok 6 - strict mode disallows unknown keywords during evaluation, even if the document was already traversed
ok 7 - strict mode disallows unknown keywords in the schema data passed to validate_schema()
ok 8 - strict mode disallows unknown keywords during traverse
ok 9 - strict mode only detected one property this time - bloop is evaluated
ok 10 - strict mode detects unknown keywords using draft7
1..10
ok
t/stringy-numbers.t ..................... 
# stringy_numbers = 0
ok 1 - strings cannot be used in place of numbers in schema for multipleOf
ok 2 - strings cannot be used in place of numbers in schema for maximum
ok 3 - strings cannot be used in place of numbers in schema for exclusiveMaximum
ok 4 - strings cannot be used in place of numbers in schema for minimum
ok 5 - strings cannot be used in place of numbers in schema for exclusiveMinimum
ok 6 - strings that do not look like numbers are never valid as numbers
ok 7 - by default "type": "string" does not accept numbers
ok 8 - real numbers are always evaluated
ok 9 - by default, stringy numbers are not evaluated by numeric keywords
ok 10 - data was not mutated
ok 11 - by default, stringy numbers are not the same as numbers using comparison keywords
ok 12 - data was not mutated
# stringy_numbers = 1
ok 13 - strings cannot be used in place of numbers in schema for multipleOf
ok 14 - strings cannot be used in place of numbers in schema for maximum
ok 15 - strings cannot be used in place of numbers in schema for exclusiveMaximum
ok 16 - strings cannot be used in place of numbers in schema for minimum
ok 17 - strings cannot be used in place of numbers in schema for exclusiveMinimum
ok 18 - strings that do not look like numbers are never valid as numbers
ok 19 - using stringy numbers, numeric strings are treated as numbers but are still not always integers
ok 20 - real numbers are always evaluated
ok 21 - with the config enabled, stringy numbers are treated as numbers by numeric keywords
ok 22 - data was not mutated
ok 23 - with the config enabled, stringy numbers are the same as numbers using comparison keywords
ok 24 - data was not mutated
1..24
ok
t/traverse.t ............................ 
# Subtest: traversal with callbacks
    ok 1 - errors encountered during traversal are returned
    ok 2 - callback for erroneous keyword was not called
    ok 3 - extracted all the real $refs out of the schema, with locations and canonical targets
    ok 4 - identified all subschemas
    1..4
ok 1 - traversal with callbacks
# Subtest: errors when parsing $schema keyword
    ok 1 - $schema is not a string
    ok 2 - $schema is not a URI
    1..2
ok 2 - errors when parsing $schema keyword
# Subtest: default metaschema
    ok 1 - dialect is properly determined
    ok 2 - error within $defs is found, showing both Core and Applicator vocabularies are used
    1..2
ok 3 - default metaschema
# Subtest: traversing a dialect with different core keywords
    ok 1 - dialect changes at root, with $id - dialect is switched in time to get a new keyword list for the core vocabulary
    ok 2 - no errors when parsing this schema
    ok 3 - switched dialect in time to extract all identifiers, from root and definition
    ok 4 - dialect changes at root, no $id - dialect is switched in time to get a new keyword list for the core vocabulary
    ok 5 - dialect changes below root - dialect is switched in time to get a new keyword list for the core vocabulary
    1..5
ok 4 - traversing a dialect with different core keywords
# Subtest: $schema without an $id, below the root
    ok 1 - $schema cannot exist without an $id, or at the root
    1..1
ok 5 - $schema without an $id, below the root
# Subtest: duplicate identifiers
    ok 1 - detected colliding $ids within a single schema
    ok 2 - two anchors with different base uris are acceptable
    ok 3 - detected colliding $anchors within a single schema
    1..3
ok 6 - duplicate identifiers
# Subtest: $anchor without $id
    ok 1 - found anchor at root, without an $id to pre-populate the identifiers hash
    ok 2 - found anchor within schema, without an $id to pre-populate the identifiers hash
    1..2
ok 7 - $anchor without $id
# Subtest: traverse with overridden metaschema_uri
    ok 1 - metaschema_uri is overridden with a bad schema: same errors are returned
    ok 2 - metaschema_uri is overridden with a bad schema: errors contain the right locations
    ok 3 - metaschema_uri is overridden with a bad schema and there is a traversal path: errors contain the right locations
    ok 4 - determined vocabularies to use for this schema
    1..4
ok 8 - traverse with overridden metaschema_uri
# Subtest: start traversing below the document root
    ok 1 - identified the overridden location of all errors during traverse
    ok 2 - identifiers are correctly extracted when traversing below the document root
    ok 3 - identifiers are correctly extracted when traversing below the document root, with anchor
    1..3
ok 9 - start traversing below the document root
1..9
ok
t/type.t ................................ 
# Subtest: inflated data, type: array
    ok 1 - is_type("array", []) is true
    ok 2 - get_type([]) = array
    ok 3 - is_type("boolean", []) is false
    ok 4 - is_type("integer", []) is false
    ok 5 - is_type("null", []) is false
    ok 6 - is_type("number", []) is false
    ok 7 - is_type("object", []) is false
    ok 8 - is_type("string", []) is false
    ok 9 - data is not tampered with while it is tested (not dualvar)
    ok 10 - is_type("array", [1]) is true
    ok 11 - get_type([1]) = array
    ok 12 - is_type("boolean", [1]) is false
    ok 13 - is_type("integer", [1]) is false
    ok 14 - is_type("null", [1]) is false
    ok 15 - is_type("number", [1]) is false
    ok 16 - is_type("object", [1]) is false
    ok 17 - is_type("string", [1]) is false
    ok 18 - data is not tampered with while it is tested (not dualvar)
    1..18
ok 1 - inflated data, type: array
# Subtest: inflated data, type: boolean
    ok 1 - is_type("boolean", false) is true
    ok 2 - get_type(false) = boolean
    ok 3 - is_type("array", false) is false
    ok 4 - is_type("integer", false) is false
    ok 5 - is_type("null", false) is false
    ok 6 - is_type("number", false) is false
    ok 7 - is_type("object", false) is false
    ok 8 - is_type("string", false) is false
    ok 9 - data is not tampered with while it is tested (not dualvar)
    ok 10 - is_type("boolean", true) is true
    ok 11 - get_type(true) = boolean
    ok 12 - is_type("array", true) is false
    ok 13 - is_type("integer", true) is false
    ok 14 - is_type("null", true) is false
    ok 15 - is_type("number", true) is false
    ok 16 - is_type("object", true) is false
    ok 17 - is_type("string", true) is false
    ok 18 - data is not tampered with while it is tested (not dualvar)
    1..18
ok 2 - inflated data, type: boolean
# Subtest: inflated data, type: integer
    ok 1 - is_type("integer", 0) is true
    ok 2 - is_type("number", 0) is true
    ok 3 - get_type(0) = integer
    ok 4 - is_type("array", 0) is false
    ok 5 - is_type("boolean", 0) is false
    ok 6 - is_type("null", 0) is false
    ok 7 - is_type("object", 0) is false
    ok 8 - is_type("string", 0) is false
    ok 9 - data is not tampered with while it is tested (not dualvar)
    ok 10 - is_type("integer", -1) is true
    ok 11 - is_type("number", -1) is true
    ok 12 - get_type(-1) = integer
    ok 13 - is_type("array", -1) is false
    ok 14 - is_type("boolean", -1) is false
    ok 15 - is_type("null", -1) is false
    ok 16 - is_type("object", -1) is false
    ok 17 - is_type("string", -1) is false
    ok 18 - data is not tampered with while it is tested (not dualvar)
    ok 19 - is_type("integer", 2) is true
    ok 20 - is_type("number", 2) is true
    ok 21 - get_type(2) = integer
    ok 22 - is_type("array", 2) is false
    ok 23 - is_type("boolean", 2) is false
    ok 24 - is_type("null", 2) is false
    ok 25 - is_type("object", 2) is false
    ok 26 - is_type("string", 2) is false
    ok 27 - data is not tampered with while it is tested (not dualvar)
    ok 28 - is_type("integer", 2.0) is true
    ok 29 - is_type("number", 2.0) is true
    ok 30 - get_type(2.0) = integer
    ok 31 - is_type("array", 2.0) is false
    ok 32 - is_type("boolean", 2.0) is false
    ok 33 - is_type("null", 2.0) is false
    ok 34 - is_type("object", 2.0) is false
    ok 35 - is_type("string", 2.0) is false
    ok 36 - data is not tampered with while it is tested (not dualvar)
    ok 37 - is_type("integer", 2147483647) is true
    ok 38 - is_type("number", 2147483647) is true
    ok 39 - get_type(2147483647) = integer
    ok 40 - is_type("array", 2147483647) is false
    ok 41 - is_type("boolean", 2147483647) is false
    ok 42 - is_type("null", 2147483647) is false
    ok 43 - is_type("object", 2147483647) is false
    ok 44 - is_type("string", 2147483647) is false
    ok 45 - data is not tampered with while it is tested (not dualvar)
    ok 46 - is_type("integer", 2147483648.0) is true
    ok 47 - is_type("number", 2147483648.0) is true
    ok 48 - get_type(2147483648.0) = integer
    ok 49 - is_type("array", 2147483648.0) is false
    ok 50 - is_type("boolean", 2147483648.0) is false
    ok 51 - is_type("null", 2147483648.0) is false
    ok 52 - is_type("object", 2147483648.0) is false
    ok 53 - is_type("string", 2147483648.0) is false
    ok 54 - data is not tampered with while it is tested (not dualvar)
    ok 55 - is_type("integer", 9.22337203685478e+18) is true
    ok 56 - is_type("number", 9.22337203685478e+18) is true
    ok 57 - get_type(9.22337203685478e+18) = integer
    ok 58 - is_type("array", 9.22337203685478e+18) is false
    ok 59 - is_type("boolean", 9.22337203685478e+18) is false
    ok 60 - is_type("null", 9.22337203685478e+18) is false
    ok 61 - is_type("object", 9.22337203685478e+18) is false
    ok 62 - is_type("string", 9.22337203685478e+18) is false
    ok 63 - data is not tampered with while it is tested (not dualvar)
    ok 64 - is_type("integer", 9.22337203685478e+18) is true
    ok 65 - is_type("number", 9.22337203685478e+18) is true
    ok 66 - get_type(9.22337203685478e+18) = integer
    ok 67 - is_type("array", 9.22337203685478e+18) is false
    ok 68 - is_type("boolean", 9.22337203685478e+18) is false
    ok 69 - is_type("null", 9.22337203685478e+18) is false
    ok 70 - is_type("object", 9.22337203685478e+18) is false
    ok 71 - is_type("string", 9.22337203685478e+18) is false
    ok 72 - data is not tampered with while it is tested (not dualvar)
    ok 73 - is_type("integer", 1.84467440737096e+19) is true
    ok 74 - is_type("number", 1.84467440737096e+19) is true
    ok 75 - get_type(1.84467440737096e+19) = integer
    ok 76 - is_type("array", 1.84467440737096e+19) is false
    ok 77 - is_type("boolean", 1.84467440737096e+19) is false
    ok 78 - is_type("null", 1.84467440737096e+19) is false
    ok 79 - is_type("object", 1.84467440737096e+19) is false
    ok 80 - is_type("string", 1.84467440737096e+19) is false
    ok 81 - data is not tampered with while it is tested (not dualvar)
    ok 82 - is_type("integer", 3.68934881474191e+19) is true
    ok 83 - is_type("number", 3.68934881474191e+19) is true
    ok 84 - get_type(3.68934881474191e+19) = integer
    ok 85 - is_type("array", 3.68934881474191e+19) is false
    ok 86 - is_type("boolean", 3.68934881474191e+19) is false
    ok 87 - is_type("null", 3.68934881474191e+19) is false
    ok 88 - is_type("object", 3.68934881474191e+19) is false
    ok 89 - is_type("string", 3.68934881474191e+19) is false
    ok 90 - data is not tampered with while it is tested (not dualvar)
    ok 91 - is_type("integer", 1000000000000000) is true
    ok 92 - is_type("number", 1000000000000000) is true
    ok 93 - get_type(1000000000000000) = integer
    ok 94 - is_type("array", 1000000000000000) is false
    ok 95 - is_type("boolean", 1000000000000000) is false
    ok 96 - is_type("null", 1000000000000000) is false
    ok 97 - is_type("object", 1000000000000000) is false
    ok 98 - is_type("string", 1000000000000000) is false
    ok 99 - data is not tampered with while it is tested (not dualvar)
    ok 100 - is_type("integer", Math::BigInt->new('100000000000000000000')) is true
    ok 101 - is_type("number", Math::BigInt->new('100000000000000000000')) is true
    ok 102 - get_type(Math::BigInt->new('100000000000000000000')) = integer
    ok 103 - is_type("array", Math::BigInt->new('100000000000000000000')) is false
    ok 104 - is_type("boolean", Math::BigInt->new('100000000000000000000')) is false
    ok 105 - is_type("null", Math::BigInt->new('100000000000000000000')) is false
    ok 106 - is_type("object", Math::BigInt->new('100000000000000000000')) is false
    ok 107 - is_type("string", Math::BigInt->new('100000000000000000000')) is false
    ok 108 - data is not tampered with while it is tested (not dualvar)
    ok 109 - is_type("integer", Math::BigInt->new('1')) is true
    ok 110 - is_type("number", Math::BigInt->new('1')) is true
    ok 111 - get_type(Math::BigInt->new('1')) = integer
    ok 112 - is_type("array", Math::BigInt->new('1')) is false
    ok 113 - is_type("boolean", Math::BigInt->new('1')) is false
    ok 114 - is_type("null", Math::BigInt->new('1')) is false
    ok 115 - is_type("object", Math::BigInt->new('1')) is false
    ok 116 - is_type("string", Math::BigInt->new('1')) is false
    ok 117 - data is not tampered with while it is tested (not dualvar)
    ok 118 - is_type("integer", Math::BigInt->new('1')) is true
    ok 119 - is_type("number", Math::BigInt->new('1')) is true
    ok 120 - get_type(Math::BigInt->new('1')) = integer
    ok 121 - is_type("array", Math::BigInt->new('1')) is false
    ok 122 - is_type("boolean", Math::BigInt->new('1')) is false
    ok 123 - is_type("null", Math::BigInt->new('1')) is false
    ok 124 - is_type("object", Math::BigInt->new('1')) is false
    ok 125 - is_type("string", Math::BigInt->new('1')) is false
    ok 126 - data is not tampered with while it is tested (not dualvar)
    ok 127 - is_type("integer", Math::BigFloat->new('20')) is true
    ok 128 - is_type("number", Math::BigFloat->new('20')) is true
    ok 129 - get_type(Math::BigFloat->new('20')) = integer
    ok 130 - is_type("array", Math::BigFloat->new('20')) is false
    ok 131 - is_type("boolean", Math::BigFloat->new('20')) is false
    ok 132 - is_type("null", Math::BigFloat->new('20')) is false
    ok 133 - is_type("object", Math::BigFloat->new('20')) is false
    ok 134 - is_type("string", Math::BigFloat->new('20')) is false
    ok 135 - data is not tampered with while it is tested (not dualvar)
    ok 136 - is_type("integer", Math::BigFloat->new('1')) is true
    ok 137 - is_type("number", Math::BigFloat->new('1')) is true
    ok 138 - get_type(Math::BigFloat->new('1')) = integer
    ok 139 - is_type("array", Math::BigFloat->new('1')) is false
    ok 140 - is_type("boolean", Math::BigFloat->new('1')) is false
    ok 141 - is_type("null", Math::BigFloat->new('1')) is false
    ok 142 - is_type("object", Math::BigFloat->new('1')) is false
    ok 143 - is_type("string", Math::BigFloat->new('1')) is false
    ok 144 - data is not tampered with while it is tested (not dualvar)
    ok 145 - is_type("integer", Math::BigFloat->new('1')) is true
    ok 146 - is_type("number", Math::BigFloat->new('1')) is true
    ok 147 - get_type(Math::BigFloat->new('1')) = integer
    ok 148 - is_type("array", Math::BigFloat->new('1')) is false
    ok 149 - is_type("boolean", Math::BigFloat->new('1')) is false
    ok 150 - is_type("null", Math::BigFloat->new('1')) is false
    ok 151 - is_type("object", Math::BigFloat->new('1')) is false
    ok 152 - is_type("string", Math::BigFloat->new('1')) is false
    ok 153 - data is not tampered with while it is tested (not dualvar)
    1..153
ok 3 - inflated data, type: integer
# Subtest: inflated data, type: null
    ok 1 - is_type("null", null) is true
    ok 2 - get_type(null) = null
    ok 3 - is_type("array", null) is false
    ok 4 - is_type("boolean", null) is false
    ok 5 - is_type("integer", null) is false
    ok 6 - is_type("number", null) is false
    ok 7 - is_type("object", null) is false
    ok 8 - is_type("string", null) is false
    ok 9 - data is not tampered with while it is tested (not dualvar)
    1..9
ok 4 - inflated data, type: null
# Subtest: inflated data, type: number
    ok 1 - is_type("number", 3.1) is true
    ok 2 - get_type(3.1) = number
    ok 3 - is_type("array", 3.1) is false
    ok 4 - is_type("boolean", 3.1) is false
    ok 5 - is_type("integer", 3.1) is false
    ok 6 - is_type("null", 3.1) is false
    ok 7 - is_type("object", 3.1) is false
    ok 8 - is_type("string", 3.1) is false
    ok 9 - data is not tampered with while it is tested (not dualvar)
    ok 10 - is_type("number", 12345678901.2) is true
    ok 11 - get_type(12345678901.2) = number
    ok 12 - is_type("array", 12345678901.2) is false
    ok 13 - is_type("boolean", 12345678901.2) is false
    ok 14 - is_type("integer", 12345678901.2) is false
    ok 15 - is_type("null", 12345678901.2) is false
    ok 16 - is_type("object", 12345678901.2) is false
    ok 17 - is_type("string", 12345678901.2) is false
    ok 18 - data is not tampered with while it is tested (not dualvar)
    ok 19 - is_type("number", Math::BigFloat->new('0.123')) is true
    ok 20 - get_type(Math::BigFloat->new('0.123')) = number
    ok 21 - is_type("array", Math::BigFloat->new('0.123')) is false
    ok 22 - is_type("boolean", Math::BigFloat->new('0.123')) is false
    ok 23 - is_type("integer", Math::BigFloat->new('0.123')) is false
    ok 24 - is_type("null", Math::BigFloat->new('0.123')) is false
    ok 25 - is_type("object", Math::BigFloat->new('0.123')) is false
    ok 26 - is_type("string", Math::BigFloat->new('0.123')) is false
    ok 27 - data is not tampered with while it is tested (not dualvar)
    1..27
ok 5 - inflated data, type: number
# Subtest: inflated data, type: object
    ok 1 - is_type("object", {}) is true
    ok 2 - get_type({}) = object
    ok 3 - is_type("array", {}) is false
    ok 4 - is_type("boolean", {}) is false
    ok 5 - is_type("integer", {}) is false
    ok 6 - is_type("null", {}) is false
    ok 7 - is_type("number", {}) is false
    ok 8 - is_type("string", {}) is false
    ok 9 - data is not tampered with while it is tested (not dualvar)
    ok 10 - is_type("object", {"a" : 1}) is true
    ok 11 - get_type({"a" : 1}) = object
    ok 12 - is_type("array", {"a" : 1}) is false
    ok 13 - is_type("boolean", {"a" : 1}) is false
    ok 14 - is_type("integer", {"a" : 1}) is false
    ok 15 - is_type("null", {"a" : 1}) is false
    ok 16 - is_type("number", {"a" : 1}) is false
    ok 17 - is_type("string", {"a" : 1}) is false
    ok 18 - data is not tampered with while it is tested (not dualvar)
    1..18
ok 6 - inflated data, type: object
# Subtest: inflated data, type: string
    ok 1 - is_type("string", "") is true
    ok 2 - get_type("") = string
    ok 3 - is_type("array", "") is false
    ok 4 - is_type("boolean", "") is false
    ok 5 - is_type("integer", "") is false
    ok 6 - is_type("null", "") is false
    ok 7 - is_type("number", "") is false
    ok 8 - is_type("object", "") is false
    ok 9 - data is not tampered with while it is tested (not dualvar)
    ok 10 - is_type("string", "0") is true
    ok 11 - get_type("0") = string
    ok 12 - is_type("array", "0") is false
    ok 13 - is_type("boolean", "0") is false
    ok 14 - is_type("integer", "0") is false
    ok 15 - is_type("null", "0") is false
    ok 16 - is_type("number", "0") is false
    ok 17 - is_type("object", "0") is false
    ok 18 - data is not tampered with while it is tested (not dualvar)
    ok 19 - is_type("string", "-1") is true
    ok 20 - get_type("-1") = string
    ok 21 - is_type("array", "-1") is false
    ok 22 - is_type("boolean", "-1") is false
    ok 23 - is_type("integer", "-1") is false
    ok 24 - is_type("null", "-1") is false
    ok 25 - is_type("number", "-1") is false
    ok 26 - is_type("object", "-1") is false
    ok 27 - data is not tampered with while it is tested (not dualvar)
    ok 28 - is_type("string", "2") is true
    ok 29 - get_type("2") = string
    ok 30 - is_type("array", "2") is false
    ok 31 - is_type("boolean", "2") is false
    ok 32 - is_type("integer", "2") is false
    ok 33 - is_type("null", "2") is false
    ok 34 - is_type("number", "2") is false
    ok 35 - is_type("object", "2") is false
    ok 36 - data is not tampered with while it is tested (not dualvar)
    ok 37 - is_type("string", "2.0") is true
    ok 38 - get_type("2.0") = string
    ok 39 - is_type("array", "2.0") is false
    ok 40 - is_type("boolean", "2.0") is false
    ok 41 - is_type("integer", "2.0") is false
    ok 42 - is_type("null", "2.0") is false
    ok 43 - is_type("number", "2.0") is false
    ok 44 - is_type("object", "2.0") is false
    ok 45 - data is not tampered with while it is tested (not dualvar)
    ok 46 - is_type("string", "3.1") is true
    ok 47 - get_type("3.1") = string
    ok 48 - is_type("array", "3.1") is false
    ok 49 - is_type("boolean", "3.1") is false
    ok 50 - is_type("integer", "3.1") is false
    ok 51 - is_type("null", "3.1") is false
    ok 52 - is_type("number", "3.1") is false
    ok 53 - is_type("object", "3.1") is false
    ok 54 - data is not tampered with while it is tested (not dualvar)
    ok 55 - is_type("string", "école") is true
    ok 56 - get_type("école") = string
    ok 57 - is_type("array", "école") is false
    ok 58 - is_type("boolean", "école") is false
    ok 59 - is_type("integer", "école") is false
    ok 60 - is_type("null", "école") is false
    ok 61 - is_type("number", "école") is false
    ok 62 - is_type("object", "école") is false
    ok 63 - data is not tampered with while it is tested (not dualvar)
    ok 64 - is_type("string", "ಠ_ಠ") is true
    ok 65 - get_type("ಠ_ಠ") = string
    ok 66 - is_type("array", "ಠ_ಠ") is false
    ok 67 - is_type("boolean", "ಠ_ಠ") is false
    ok 68 - is_type("integer", "ಠ_ಠ") is false
    ok 69 - is_type("null", "ಠ_ಠ") is false
    ok 70 - is_type("number", "ಠ_ಠ") is false
    ok 71 - is_type("object", "ಠ_ಠ") is false
    ok 72 - data is not tampered with while it is tested (not dualvar)
    1..72
ok 7 - inflated data, type: string
# Subtest: JSON-encoded data, type: array
    ok 1 - is_type("array", []) is true
    ok 2 - get_type([]) = array
    ok 3 - is_type("boolean", []) is false
    ok 4 - is_type("integer", []) is false
    ok 5 - is_type("null", []) is false
    ok 6 - is_type("number", []) is false
    ok 7 - is_type("object", []) is false
    ok 8 - is_type("string", []) is false
    ok 9 - data is not tampered with while it is tested (not dualvar)
    ok 10 - is_type("array", [1]) is true
    ok 11 - get_type([1]) = array
    ok 12 - is_type("boolean", [1]) is false
    ok 13 - is_type("integer", [1]) is false
    ok 14 - is_type("null", [1]) is false
    ok 15 - is_type("number", [1]) is false
    ok 16 - is_type("object", [1]) is false
    ok 17 - is_type("string", [1]) is false
    ok 18 - data is not tampered with while it is tested (not dualvar)
    1..18
ok 8 - JSON-encoded data, type: array
# Subtest: JSON-encoded data, type: boolean
    ok 1 - is_type("boolean", false) is true
    ok 2 - get_type(false) = boolean
    ok 3 - is_type("array", false) is false
    ok 4 - is_type("integer", false) is false
    ok 5 - is_type("null", false) is false
    ok 6 - is_type("number", false) is false
    ok 7 - is_type("object", false) is false
    ok 8 - is_type("string", false) is false
    ok 9 - data is not tampered with while it is tested (not dualvar)
    ok 10 - is_type("boolean", true) is true
    ok 11 - get_type(true) = boolean
    ok 12 - is_type("array", true) is false
    ok 13 - is_type("integer", true) is false
    ok 14 - is_type("null", true) is false
    ok 15 - is_type("number", true) is false
    ok 16 - is_type("object", true) is false
    ok 17 - is_type("string", true) is false
    ok 18 - data is not tampered with while it is tested (not dualvar)
    1..18
ok 9 - JSON-encoded data, type: boolean
# Subtest: JSON-encoded data, type: integer
    ok 1 - is_type("integer", 0) is true
    ok 2 - is_type("number", 0) is true
    ok 3 - get_type(0) = integer
    ok 4 - is_type("array", 0) is false
    ok 5 - is_type("boolean", 0) is false
    ok 6 - is_type("null", 0) is false
    ok 7 - is_type("object", 0) is false
    ok 8 - is_type("string", 0) is false
    ok 9 - data is not tampered with while it is tested (not dualvar)
    ok 10 - is_type("integer", -1) is true
    ok 11 - is_type("number", -1) is true
    ok 12 - get_type(-1) = integer
    ok 13 - is_type("array", -1) is false
    ok 14 - is_type("boolean", -1) is false
    ok 15 - is_type("null", -1) is false
    ok 16 - is_type("object", -1) is false
    ok 17 - is_type("string", -1) is false
    ok 18 - data is not tampered with while it is tested (not dualvar)
    ok 19 - is_type("integer", Math::BigFloat->new('2')) is true
    ok 20 - is_type("number", Math::BigFloat->new('2')) is true
    ok 21 - get_type(Math::BigFloat->new('2')) = integer
    ok 22 - is_type("array", Math::BigFloat->new('2')) is false
    ok 23 - is_type("boolean", Math::BigFloat->new('2')) is false
    ok 24 - is_type("null", Math::BigFloat->new('2')) is false
    ok 25 - is_type("object", Math::BigFloat->new('2')) is false
    ok 26 - is_type("string", Math::BigFloat->new('2')) is false
    ok 27 - data is not tampered with while it is tested (not dualvar)
    ok 28 - is_type("integer", 2147483647) is true
    ok 29 - is_type("number", 2147483647) is true
    ok 30 - get_type(2147483647) = integer
    ok 31 - is_type("array", 2147483647) is false
    ok 32 - is_type("boolean", 2147483647) is false
    ok 33 - is_type("null", 2147483647) is false
    ok 34 - is_type("object", 2147483647) is false
    ok 35 - is_type("string", 2147483647) is false
    ok 36 - data is not tampered with while it is tested (not dualvar)
    ok 37 - is_type("integer", 2147483648) is true
    ok 38 - is_type("number", 2147483648) is true
    ok 39 - get_type(2147483648) = integer
    ok 40 - is_type("array", 2147483648) is false
    ok 41 - is_type("boolean", 2147483648) is false
    ok 42 - is_type("null", 2147483648) is false
    ok 43 - is_type("object", 2147483648) is false
    ok 44 - is_type("string", 2147483648) is false
    ok 45 - data is not tampered with while it is tested (not dualvar)
    ok 46 - is_type("integer", Math::BigFloat->new('9223372036854780000')) is true
    ok 47 - is_type("number", Math::BigFloat->new('9223372036854780000')) is true
    ok 48 - get_type(Math::BigFloat->new('9223372036854780000')) = integer
    ok 49 - is_type("array", Math::BigFloat->new('9223372036854780000')) is false
    ok 50 - is_type("boolean", Math::BigFloat->new('9223372036854780000')) is false
    ok 51 - is_type("null", Math::BigFloat->new('9223372036854780000')) is false
    ok 52 - is_type("object", Math::BigFloat->new('9223372036854780000')) is false
    ok 53 - is_type("string", Math::BigFloat->new('9223372036854780000')) is false
    ok 54 - data is not tampered with while it is tested (not dualvar)
    ok 55 - is_type("integer", Math::BigFloat->new('9223372036854780000')) is true
    ok 56 - is_type("number", Math::BigFloat->new('9223372036854780000')) is true
    ok 57 - get_type(Math::BigFloat->new('9223372036854780000')) = integer
    ok 58 - is_type("array", Math::BigFloat->new('9223372036854780000')) is false
    ok 59 - is_type("boolean", Math::BigFloat->new('9223372036854780000')) is false
    ok 60 - is_type("null", Math::BigFloat->new('9223372036854780000')) is false
    ok 61 - is_type("object", Math::BigFloat->new('9223372036854780000')) is false
    ok 62 - is_type("string", Math::BigFloat->new('9223372036854780000')) is false
    ok 63 - data is not tampered with while it is tested (not dualvar)
    ok 64 - is_type("integer", Math::BigFloat->new('18446744073709600000')) is true
    ok 65 - is_type("number", Math::BigFloat->new('18446744073709600000')) is true
    ok 66 - get_type(Math::BigFloat->new('18446744073709600000')) = integer
    ok 67 - is_type("array", Math::BigFloat->new('18446744073709600000')) is false
    ok 68 - is_type("boolean", Math::BigFloat->new('18446744073709600000')) is false
    ok 69 - is_type("null", Math::BigFloat->new('18446744073709600000')) is false
    ok 70 - is_type("object", Math::BigFloat->new('18446744073709600000')) is false
    ok 71 - is_type("string", Math::BigFloat->new('18446744073709600000')) is false
    ok 72 - data is not tampered with while it is tested (not dualvar)
    ok 73 - is_type("integer", Math::BigFloat->new('36893488147419100000')) is true
    ok 74 - is_type("number", Math::BigFloat->new('36893488147419100000')) is true
    ok 75 - get_type(Math::BigFloat->new('36893488147419100000')) = integer
    ok 76 - is_type("array", Math::BigFloat->new('36893488147419100000')) is false
    ok 77 - is_type("boolean", Math::BigFloat->new('36893488147419100000')) is false
    ok 78 - is_type("null", Math::BigFloat->new('36893488147419100000')) is false
    ok 79 - is_type("object", Math::BigFloat->new('36893488147419100000')) is false
    ok 80 - is_type("string", Math::BigFloat->new('36893488147419100000')) is false
    ok 81 - data is not tampered with while it is tested (not dualvar)
    ok 82 - is_type("integer", 1000000000000000) is true
    ok 83 - is_type("number", 1000000000000000) is true
    ok 84 - get_type(1000000000000000) = integer
    ok 85 - is_type("array", 1000000000000000) is false
    ok 86 - is_type("boolean", 1000000000000000) is false
    ok 87 - is_type("null", 1000000000000000) is false
    ok 88 - is_type("object", 1000000000000000) is false
    ok 89 - is_type("string", 1000000000000000) is false
    ok 90 - data is not tampered with while it is tested (not dualvar)
    ok 91 - is_type("integer", Math::BigFloat->new('20')) is true
    ok 92 - is_type("number", Math::BigFloat->new('20')) is true
    ok 93 - get_type(Math::BigFloat->new('20')) = integer
    ok 94 - is_type("array", Math::BigFloat->new('20')) is false
    ok 95 - is_type("boolean", Math::BigFloat->new('20')) is false
    ok 96 - is_type("null", Math::BigFloat->new('20')) is false
    ok 97 - is_type("object", Math::BigFloat->new('20')) is false
    ok 98 - is_type("string", Math::BigFloat->new('20')) is false
    ok 99 - data is not tampered with while it is tested (not dualvar)
    1..99
ok 10 - JSON-encoded data, type: integer
# Subtest: JSON-encoded data, type: null
    ok 1 - is_type("null", null) is true
    ok 2 - get_type(null) = null
    ok 3 - is_type("array", null) is false
    ok 4 - is_type("boolean", null) is false
    ok 5 - is_type("integer", null) is false
    ok 6 - is_type("number", null) is false
    ok 7 - is_type("object", null) is false
    ok 8 - is_type("string", null) is false
    ok 9 - data is not tampered with while it is tested (not dualvar)
    1..9
ok 11 - JSON-encoded data, type: null
# Subtest: JSON-encoded data, type: number
    ok 1 - is_type("number", Math::BigFloat->new('3.1')) is true
    ok 2 - get_type(Math::BigFloat->new('3.1')) = number
    ok 3 - is_type("array", Math::BigFloat->new('3.1')) is false
    ok 4 - is_type("boolean", Math::BigFloat->new('3.1')) is false
    ok 5 - is_type("integer", Math::BigFloat->new('3.1')) is false
    ok 6 - is_type("null", Math::BigFloat->new('3.1')) is false
    ok 7 - is_type("object", Math::BigFloat->new('3.1')) is false
    ok 8 - is_type("string", Math::BigFloat->new('3.1')) is false
    ok 9 - data is not tampered with while it is tested (not dualvar)
    ok 10 - is_type("number", Math::BigFloat->new('12345678901.2')) is true
    ok 11 - get_type(Math::BigFloat->new('12345678901.2')) = number
    ok 12 - is_type("array", Math::BigFloat->new('12345678901.2')) is false
    ok 13 - is_type("boolean", Math::BigFloat->new('12345678901.2')) is false
    ok 14 - is_type("integer", Math::BigFloat->new('12345678901.2')) is false
    ok 15 - is_type("null", Math::BigFloat->new('12345678901.2')) is false
    ok 16 - is_type("object", Math::BigFloat->new('12345678901.2')) is false
    ok 17 - is_type("string", Math::BigFloat->new('12345678901.2')) is false
    ok 18 - data is not tampered with while it is tested (not dualvar)
    1..18
ok 12 - JSON-encoded data, type: number
# Subtest: JSON-encoded data, type: object
    ok 1 - is_type("object", {}) is true
    ok 2 - get_type({}) = object
    ok 3 - is_type("array", {}) is false
    ok 4 - is_type("boolean", {}) is false
    ok 5 - is_type("integer", {}) is false
    ok 6 - is_type("null", {}) is false
    ok 7 - is_type("number", {}) is false
    ok 8 - is_type("string", {}) is false
    ok 9 - data is not tampered with while it is tested (not dualvar)
    ok 10 - is_type("object", {"a" : 1}) is true
    ok 11 - get_type({"a" : 1}) = object
    ok 12 - is_type("array", {"a" : 1}) is false
    ok 13 - is_type("boolean", {"a" : 1}) is false
    ok 14 - is_type("integer", {"a" : 1}) is false
    ok 15 - is_type("null", {"a" : 1}) is false
    ok 16 - is_type("number", {"a" : 1}) is false
    ok 17 - is_type("string", {"a" : 1}) is false
    ok 18 - data is not tampered with while it is tested (not dualvar)
    1..18
ok 13 - JSON-encoded data, type: object
# Subtest: JSON-encoded data, type: string
    ok 1 - is_type("string", "") is true
    ok 2 - get_type("") = string
    ok 3 - is_type("array", "") is false
    ok 4 - is_type("boolean", "") is false
    ok 5 - is_type("integer", "") is false
    ok 6 - is_type("null", "") is false
    ok 7 - is_type("number", "") is false
    ok 8 - is_type("object", "") is false
    ok 9 - data is not tampered with while it is tested (not dualvar)
    ok 10 - is_type("string", "0") is true
    ok 11 - get_type("0") = string
    ok 12 - is_type("array", "0") is false
    ok 13 - is_type("boolean", "0") is false
    ok 14 - is_type("integer", "0") is false
    ok 15 - is_type("null", "0") is false
    ok 16 - is_type("number", "0") is false
    ok 17 - is_type("object", "0") is false
    ok 18 - data is not tampered with while it is tested (not dualvar)
    ok 19 - is_type("string", "-1") is true
    ok 20 - get_type("-1") = string
    ok 21 - is_type("array", "-1") is false
    ok 22 - is_type("boolean", "-1") is false
    ok 23 - is_type("integer", "-1") is false
    ok 24 - is_type("null", "-1") is false
    ok 25 - is_type("number", "-1") is false
    ok 26 - is_type("object", "-1") is false
    ok 27 - data is not tampered with while it is tested (not dualvar)
    ok 28 - is_type("string", "2.0") is true
    ok 29 - get_type("2.0") = string
    ok 30 - is_type("array", "2.0") is false
    ok 31 - is_type("boolean", "2.0") is false
    ok 32 - is_type("integer", "2.0") is false
    ok 33 - is_type("null", "2.0") is false
    ok 34 - is_type("number", "2.0") is false
    ok 35 - is_type("object", "2.0") is false
    ok 36 - data is not tampered with while it is tested (not dualvar)
    ok 37 - is_type("string", "3.1") is true
    ok 38 - get_type("3.1") = string
    ok 39 - is_type("array", "3.1") is false
    ok 40 - is_type("boolean", "3.1") is false
    ok 41 - is_type("integer", "3.1") is false
    ok 42 - is_type("null", "3.1") is false
    ok 43 - is_type("number", "3.1") is false
    ok 44 - is_type("object", "3.1") is false
    ok 45 - data is not tampered with while it is tested (not dualvar)
    ok 46 - is_type("string", "école") is true
    ok 47 - get_type("école") = string
    ok 48 - is_type("array", "école") is false
    ok 49 - is_type("boolean", "école") is false
    ok 50 - is_type("integer", "école") is false
    ok 51 - is_type("null", "école") is false
    ok 52 - is_type("number", "école") is false
    ok 53 - is_type("object", "école") is false
    ok 54 - data is not tampered with while it is tested (not dualvar)
    ok 55 - is_type("string", "ಠ_ಠ") is true
    ok 56 - get_type("ಠ_ಠ") = string
    ok 57 - is_type("array", "ಠ_ಠ") is false
    ok 58 - is_type("boolean", "ಠ_ಠ") is false
    ok 59 - is_type("integer", "ಠ_ಠ") is false
    ok 60 - is_type("null", "ಠ_ಠ") is false
    ok 61 - is_type("number", "ಠ_ಠ") is false
    ok 62 - is_type("object", "ಠ_ಠ") is false
    ok 63 - data is not tampered with while it is tested (not dualvar)
    1..63
ok 14 - JSON-encoded data, type: string
# Subtest: integers and numbers in draft4
    ok 1 - is_type("integer", 0) is true
    ok 2 - is_type("number", 0) is true
    ok 3 - get_type(0) = integer
    ok 4 - is_type("null", 0) is false
    ok 5 - is_type("boolean", 0) is false
    ok 6 - is_type("object", 0) is false
    ok 7 - is_type("array", 0) is false
    ok 8 - is_type("string", 0) is false
    ok 9 - data is not tampered with while it is tested (not dualvar)
    ok 10 - is_type("integer", -1) is true
    ok 11 - is_type("number", -1) is true
    ok 12 - get_type(-1) = integer
    ok 13 - is_type("null", -1) is false
    ok 14 - is_type("boolean", -1) is false
    ok 15 - is_type("object", -1) is false
    ok 16 - is_type("array", -1) is false
    ok 17 - is_type("string", -1) is false
    ok 18 - data is not tampered with while it is tested (not dualvar)
    ok 19 - is_type("integer", 2) is true
    ok 20 - is_type("number", 2) is true
    ok 21 - get_type(2) = integer
    ok 22 - is_type("null", 2) is false
    ok 23 - is_type("boolean", 2) is false
    ok 24 - is_type("object", 2) is false
    ok 25 - is_type("array", 2) is false
    ok 26 - is_type("string", 2) is false
    ok 27 - data is not tampered with while it is tested (not dualvar)
    ok 28 - is_type("integer", Math::BigInt->new('2')) is true
    ok 29 - is_type("number", Math::BigInt->new('2')) is true
    ok 30 - get_type(Math::BigInt->new('2')) = integer
    ok 31 - is_type("null", Math::BigInt->new('2')) is false
    ok 32 - is_type("boolean", Math::BigInt->new('2')) is false
    ok 33 - is_type("object", Math::BigInt->new('2')) is false
    ok 34 - is_type("array", Math::BigInt->new('2')) is false
    ok 35 - is_type("string", Math::BigInt->new('2')) is false
    ok 36 - data is not tampered with while it is tested (not dualvar)
    ok 37 - is_type("integer", Math::BigInt->new('1')) is true
    ok 38 - is_type("number", Math::BigInt->new('1')) is true
    ok 39 - get_type(Math::BigInt->new('1')) = integer
    ok 40 - is_type("null", Math::BigInt->new('1')) is false
    ok 41 - is_type("boolean", Math::BigInt->new('1')) is false
    ok 42 - is_type("object", Math::BigInt->new('1')) is false
    ok 43 - is_type("array", Math::BigInt->new('1')) is false
    ok 44 - is_type("string", Math::BigInt->new('1')) is false
    ok 45 - data is not tampered with while it is tested (not dualvar)
    ok 46 - is_type("integer", 0) is true
    ok 47 - is_type("number", 0) is true
    ok 48 - get_type(0) = integer
    ok 49 - is_type("null", 0) is false
    ok 50 - is_type("boolean", 0) is false
    ok 51 - is_type("object", 0) is false
    ok 52 - is_type("array", 0) is false
    ok 53 - is_type("string", 0) is false
    ok 54 - data is not tampered with while it is tested (not dualvar)
    ok 55 - is_type("integer", -1) is true
    ok 56 - is_type("number", -1) is true
    ok 57 - get_type(-1) = integer
    ok 58 - is_type("null", -1) is false
    ok 59 - is_type("boolean", -1) is false
    ok 60 - is_type("object", -1) is false
    ok 61 - is_type("array", -1) is false
    ok 62 - is_type("string", -1) is false
    ok 63 - data is not tampered with while it is tested (not dualvar)
    ok 64 - is_type("integer", 3) is true
    ok 65 - is_type("number", 3) is true
    ok 66 - get_type(3) = integer
    ok 67 - is_type("null", 3) is false
    ok 68 - is_type("boolean", 3) is false
    ok 69 - is_type("object", 3) is false
    ok 70 - is_type("array", 3) is false
    ok 71 - is_type("string", 3) is false
    ok 72 - data is not tampered with while it is tested (not dualvar)
    ok 73 - is_type("number", 3.1) is true
    ok 74 - get_type(3.1) = number
    ok 75 - is_type("null", 3.1) is false
    ok 76 - is_type("boolean", 3.1) is false
    ok 77 - is_type("object", 3.1) is false
    ok 78 - is_type("array", 3.1) is false
    ok 79 - is_type("string", 3.1) is false
    ok 80 - is_type("integer", 3.1) is false
    ok 81 - data is not tampered with while it is tested (not dualvar)
    ok 82 - is_type("number", 12345678901.2) is true
    ok 83 - get_type(12345678901.2) = number
    ok 84 - is_type("null", 12345678901.2) is false
    ok 85 - is_type("boolean", 12345678901.2) is false
    ok 86 - is_type("object", 12345678901.2) is false
    ok 87 - is_type("array", 12345678901.2) is false
    ok 88 - is_type("string", 12345678901.2) is false
    ok 89 - is_type("integer", 12345678901.2) is false
    ok 90 - data is not tampered with while it is tested (not dualvar)
    ok 91 - is_type("number", Math::BigFloat->new('0.123')) is true
    ok 92 - get_type(Math::BigFloat->new('0.123')) = number
    ok 93 - is_type("null", Math::BigFloat->new('0.123')) is false
    ok 94 - is_type("boolean", Math::BigFloat->new('0.123')) is false
    ok 95 - is_type("object", Math::BigFloat->new('0.123')) is false
    ok 96 - is_type("array", Math::BigFloat->new('0.123')) is false
    ok 97 - is_type("string", Math::BigFloat->new('0.123')) is false
    ok 98 - is_type("integer", Math::BigFloat->new('0.123')) is false
    ok 99 - data is not tampered with while it is tested (not dualvar)
    ok 100 - is_type("number", 2.0) is true
    ok 101 - get_type(2.0) = number
    ok 102 - is_type("null", 2.0) is false
    ok 103 - is_type("boolean", 2.0) is false
    ok 104 - is_type("object", 2.0) is false
    ok 105 - is_type("array", 2.0) is false
    ok 106 - is_type("string", 2.0) is false
    ok 107 - is_type("integer", 2.0) is false
    ok 108 - data is not tampered with while it is tested (not dualvar)
    ok 109 - is_type("number", Math::BigFloat->new('3.1')) is true
    ok 110 - get_type(Math::BigFloat->new('3.1')) = number
    ok 111 - is_type("null", Math::BigFloat->new('3.1')) is false
    ok 112 - is_type("boolean", Math::BigFloat->new('3.1')) is false
    ok 113 - is_type("object", Math::BigFloat->new('3.1')) is false
    ok 114 - is_type("array", Math::BigFloat->new('3.1')) is false
    ok 115 - is_type("string", Math::BigFloat->new('3.1')) is false
    ok 116 - is_type("integer", Math::BigFloat->new('3.1')) is false
    ok 117 - data is not tampered with while it is tested (not dualvar)
    ok 118 - is_type("number", Math::BigFloat->new('12345678901.2')) is true
    ok 119 - get_type(Math::BigFloat->new('12345678901.2')) = number
    ok 120 - is_type("null", Math::BigFloat->new('12345678901.2')) is false
    ok 121 - is_type("boolean", Math::BigFloat->new('12345678901.2')) is false
    ok 122 - is_type("object", Math::BigFloat->new('12345678901.2')) is false
    ok 123 - is_type("array", Math::BigFloat->new('12345678901.2')) is false
    ok 124 - is_type("string", Math::BigFloat->new('12345678901.2')) is false
    ok 125 - is_type("integer", Math::BigFloat->new('12345678901.2')) is false
    ok 126 - data is not tampered with while it is tested (not dualvar)
    1..126
ok 15 - integers and numbers in draft4
ok 16 - non-existent type does not result in exception
# Subtest: ambiguous types
    # Subtest: integers
        ok 1 - dualvar integers with different values are ambiguous
        ok 2 - dualvar integers with different values are not integers
        ok 3 - dualvar integers with different values are not numbers
        ok 4 - dualvar integers with different values are not strings
        ok 5 # skip on perls < 5.35.9, reading the string form of an integer value sets the flag SVf_POK
        ok 6 - integer that is later used as a string is still identified as a integer
        ok 7 - integer that is later used as a string is still an integer
        ok 8 - integer that is later used as a string is still a number
        ok 9 - integer that is later used as a string is not a string
        1..9
    ok 1 - integers
    # Subtest: numbers
        ok 1 - dualvar numbers are ambiguous in get_type
        ok 2 - dualvar numbers are not integers
        ok 3 - dualvar numbers are not numbers
        ok 4 - dualvar numbers are not strings
        ok 5 - number that is later used as a string is still identified as a number
        ok 6 - number that is later used as a string is not an integer
        ok 7 - number that is later used as a string is still a number
        ok 8 - number that is later used as a string is not a string
        1..8
    ok 2 - numbers
    # Subtest: strings
        ok 1 - dualvar strings are ambiguous in get_type
        ok 2 - dualvar strings are not integers
        ok 3 - dualvar strings are not numbers
        ok 4 - dualvar strings are not strings
        ok 5 - string that is later used as an integer is still identified as a string
        ok 6 # skip on perls < 5.35.9, reading the string form of an integer value sets the flag SVf_POK
        ok 7 - string that is later used as an integer is not an integer
        ok 8 - string that is later used as an integer is not a number
        ok 9 - string that is later used as an integer is still a string
        ok 10 - string that is later used as a number is still identified as a string
        ok 11 - string that is later used as a number is not an integer
        ok 12 # skip on perls < 5.35.9, reading the string form of an integer value sets the flag SVf_POK
        ok 13 - string that is later used as a number is not a number
        ok 14 - string that is later used as a number is still a string
        1..14
    ok 3 - strings
    1..3
ok 17 - ambiguous types
# Subtest: is_type and get_type for references
    ok 1 - reference to SCALAR type is reported without exception
    ok 2 - value is a reference to SCALAR
    ok 3 - value is not a null
    ok 4 - value is not a object
    ok 5 - value is not a array
    ok 6 - value is not a boolean
    ok 7 - value is not a string
    ok 8 - value is not a number
    ok 9 - value is not a integer
    ok 10 - reference to REF type is reported without exception
    ok 11 - value is a reference to REF
    ok 12 - value is not a null
    ok 13 - value is not a object
    ok 14 - value is not a array
    ok 15 - value is not a boolean
    ok 16 - value is not a string
    ok 17 - value is not a number
    ok 18 - value is not a integer
    ok 19 - reference to CODE type is reported without exception
    ok 20 - value is a reference to CODE
    ok 21 - value is not a null
    ok 22 - value is not a object
    ok 23 - value is not a array
    ok 24 - value is not a boolean
    ok 25 - value is not a string
    ok 26 - value is not a number
    ok 27 - value is not a integer
    ok 28 - reference to GLOB type is reported without exception
    ok 29 - value is a reference to GLOB
    ok 30 - value is not a null
    ok 31 - value is not a object
    ok 32 - value is not a array
    ok 33 - value is not a boolean
    ok 34 - value is not a string
    ok 35 - value is not a number
    ok 36 - value is not a integer
    ok 37 - reference to LVALUE type is reported without exception
    ok 38 - value is a reference to LVALUE
    ok 39 - value is not a null
    ok 40 - value is not a object
    ok 41 - value is not a array
    ok 42 - value is not a boolean
    ok 43 - value is not a string
    ok 44 - value is not a number
    ok 45 - value is not a integer
    ok 46 - reference to VSTRING type is reported without exception
    ok 47 - value is a reference to VSTRING
    ok 48 - value is not a null
    ok 49 - value is not a object
    ok 50 - value is not a array
    ok 51 - value is not a boolean
    ok 52 - value is not a string
    ok 53 - value is not a number
    ok 54 - value is not a integer
    ok 55 - Regexp type is reported without exception
    ok 56 - value is a Regexp
    ok 57 - value is not a null
    ok 58 - value is not a object
    ok 59 - value is not a array
    ok 60 - value is not a boolean
    ok 61 - value is not a string
    ok 62 - value is not a number
    ok 63 - value is not a integer
    ok 64 - IO::File type is reported without exception
    ok 65 - value is a IO::File
    ok 66 - value is not a null
    ok 67 - value is not a object
    ok 68 - value is not a array
    ok 69 - value is not a boolean
    ok 70 - value is not a string
    ok 71 - value is not a number
    ok 72 - value is not a integer
    ok 73 - Foo type is reported without exception
    ok 74 - value is a Foo
    ok 75 - value is not a null
    ok 76 - value is not a object
    ok 77 - value is not a array
    ok 78 - value is not a boolean
    ok 79 - value is not a string
    ok 80 - value is not a number
    ok 81 - value is not a integer
    ok 82 - 0 type is reported without exception
    ok 83 - value is a 0
    ok 84 - value is not a null
    ok 85 - value is not a object
    ok 86 - value is not a array
    ok 87 - value is not a boolean
    ok 88 - value is not a string
    ok 89 - value is not a number
    ok 90 - value is not a integer
    1..90
ok 18 - is_type and get_type for references
1..18
ok
t/unsupported-keywords.t ................ 
# 
# draft6
ok 1 - schema with "id" still validates in draft6
ok 2 - warned for "id" in draft6
# 
# draft7
ok 3 - schema with "id" still validates in draft7
ok 4 - warned for "id" in draft7
ok 5 - schema with "definitions" validates in draft7
ok 6 - did not warn for "definitions" in draft7
ok 7 - schema with "dependencies" validates in draft7
ok 8 - did not warn for "dependencies" in draft7
# 
# draft2019-09
ok 9 - schema with "id" still validates in draft2019-09
ok 10 - warned for "id" in draft2019-09
ok 11 - schema with "definitions" still validates in draft2019-09
ok 12 - warned for "definitions" in draft2019-09
ok 13 - schema with "dependencies" still validates in draft2019-09
ok 14 - warned for "dependencies" in draft2019-09
1..14
ok
t/validate-schema.t ..................... 
ok 1 - validate_schema on simple schema with no $schema keyword
ok 2 - validate_schema on schema with metaschema $schema keyword
ok 3 - validate_schema with custom metaschema
1..3
ok
t/vocabularies.t ........................ 
# Subtest: valid keywords
    ok 1 - draft4, Applicator: calculated keyword list matches hardcoded table
    ok 2 - draft4, Core: calculated keyword list matches hardcoded table
    ok 3 - draft4, FormatAnnotation: calculated keyword list matches hardcoded table
    ok 4 - draft4, MetaData: calculated keyword list matches hardcoded table
    ok 5 - draft4, Validation: calculated keyword list matches hardcoded table
    ok 6 - draft6, Applicator: calculated keyword list matches hardcoded table
    ok 7 - draft6, Core: calculated keyword list matches hardcoded table
    ok 8 - draft6, FormatAnnotation: calculated keyword list matches hardcoded table
    ok 9 - draft6, MetaData: calculated keyword list matches hardcoded table
    ok 10 - draft6, Validation: calculated keyword list matches hardcoded table
    ok 11 - draft7, Applicator: calculated keyword list matches hardcoded table
    ok 12 - draft7, Content: calculated keyword list matches hardcoded table
    ok 13 - draft7, Core: calculated keyword list matches hardcoded table
    ok 14 - draft7, FormatAnnotation: calculated keyword list matches hardcoded table
    ok 15 - draft7, MetaData: calculated keyword list matches hardcoded table
    ok 16 - draft7, Validation: calculated keyword list matches hardcoded table
    ok 17 - draft2019-09, Applicator: calculated keyword list matches hardcoded table
    ok 18 - draft2019-09, Content: calculated keyword list matches hardcoded table
    ok 19 - draft2019-09, Core: calculated keyword list matches hardcoded table
    ok 20 - draft2019-09, FormatAnnotation: calculated keyword list matches hardcoded table
    ok 21 - draft2019-09, MetaData: calculated keyword list matches hardcoded table
    ok 22 - draft2019-09, Validation: calculated keyword list matches hardcoded table
    ok 23 - draft2020-12, Applicator: calculated keyword list matches hardcoded table
    ok 24 - draft2020-12, Content: calculated keyword list matches hardcoded table
    ok 25 - draft2020-12, Core: calculated keyword list matches hardcoded table
    ok 26 - draft2020-12, FormatAnnotation: calculated keyword list matches hardcoded table
    ok 27 - draft2020-12, MetaData: calculated keyword list matches hardcoded table
    ok 28 - draft2020-12, Unevaluated: calculated keyword list matches hardcoded table
    ok 29 - draft2020-12, Validation: calculated keyword list matches hardcoded table
    1..29
ok 1 - valid keywords
1..1
ok
# AUTHOR_TESTING: <undef>
# AUTOMATED_TESTING: 1
# EXTENDED_TESTING: <undef>
# NO_TODO: <undef>
# TEST_DIR: <undef>
# NO_SHORT_CIRCUIT: <undef>
# 
# 
# generated with:              Test::JSON::Schema::Acceptance 1.027
# with commit:                 e524505b8ac4a61c5dc162b51d68c2385a134706 (Test-JSON-Schema-Acceptance-1.026-16-ge524505)
# from repository:             git://github.com/json-schema-org/JSON-Schema-Test-Suite.git
# specification version:       draft2019-09
# using custom test directory: <base test directory>/optional/format
# optional tests included:     yes
# 
# filename                                  pass  todo-fail  fail
# ---------------------------------------------------------------
# date-time.json                              25          0     0
# date.json                                   47          0     0
# duration.json                               26          0     0
# email.json                                  15          0     0
# hostname.json                               20          5     0
# idn-email.json                              10          0     0
# idn-hostname.json                           37         21     0
# ipv4.json                                   16          0     0
# ipv6.json                                   40          0     0
# iri-reference.json                          11          2     0
# iri.json                                    14          1     0
# json-pointer.json                           38          0     0
# regex.json                                   8          0     0
# relative-json-pointer.json                  18          0     0
# time.json                                   45          0     0
# unknown.json                                 7          0     0
# uri-reference.json                          13          0     0
# uri-template.json                            9          1     0
# uri.json                                    25          1     0
# uuid.json                                   21          0     0
# ---------------------------------------------------------------
# TOTAL                                      445         31     0
# 
# Congratulations, all non-optional tests are passing!
# 
t/zzz-acceptance-draft2019-09-format.t .. 
# running tests in /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/tests/draft2019-09/optional/format against draft2019-09...
# 
ok 1 - date-time.json: "validation of date-time strings" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 2 - date-time.json: "validation of date-time strings" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 3 - date-time.json: "validation of date-time strings" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 4 - date-time.json: "validation of date-time strings" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 5 - date-time.json: "validation of date-time strings" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 6 - date-time.json: "validation of date-time strings" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 7 - date-time.json: "validation of date-time strings" - "a valid date-time string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 8 - date-time.json: "validation of date-time strings" - "a valid date-time string without second fraction" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 9 - date-time.json: "validation of date-time strings" - "a valid date-time string with plus offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 10 - date-time.json: "validation of date-time strings" - "a valid date-time string with minus offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 11 - date-time.json: "validation of date-time strings" - "a valid date-time with a leap second, UTC" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 12 - date-time.json: "validation of date-time strings" - "a valid date-time with a leap second, with minus offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 13 - date-time.json: "validation of date-time strings" - "an invalid date-time past leap second, UTC" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 14 - date-time.json: "validation of date-time strings" - "an invalid date-time with leap second on a wrong minute, UTC" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 15 - date-time.json: "validation of date-time strings" - "an invalid date-time with leap second on a wrong hour, UTC" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 16 - date-time.json: "validation of date-time strings" - "an invalid day in date-time string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 17 - date-time.json: "validation of date-time strings" - "an invalid offset in date-time string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 18 - date-time.json: "validation of date-time strings" - "an invalid closing Z after time-zone offset" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 19 - date-time.json: "validation of date-time strings" - "an invalid date-time string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 20 - date-time.json: "validation of date-time strings" - "case-insensitive T and Z" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 21 - date-time.json: "validation of date-time strings" - "only RFC3339 not all of ISO 8601 are valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 22 - date-time.json: "validation of date-time strings" - "invalid non-padded month dates" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 23 - date-time.json: "validation of date-time strings" - "invalid non-padded day dates" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 24 - date-time.json: "validation of date-time strings" - "invalid non-ASCII '৪' (a Bengali 4) in date portion" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 25 - date-time.json: "validation of date-time strings" - "invalid non-ASCII '৪' (a Bengali 4) in time portion" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 26 - date.json: "validation of date strings" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 27 - date.json: "validation of date strings" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 28 - date.json: "validation of date strings" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 29 - date.json: "validation of date strings" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 30 - date.json: "validation of date strings" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 31 - date.json: "validation of date strings" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 32 - date.json: "validation of date strings" - "a valid date string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 33 - date.json: "validation of date strings" - "a valid date string with 31 days in January" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 34 - date.json: "validation of date strings" - "a invalid date string with 32 days in January" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 35 - date.json: "validation of date strings" - "a valid date string with 28 days in February (normal)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 36 - date.json: "validation of date strings" - "a invalid date string with 29 days in February (normal)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 37 - date.json: "validation of date strings" - "a valid date string with 29 days in February (leap)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 38 - date.json: "validation of date strings" - "a invalid date string with 30 days in February (leap)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 39 - date.json: "validation of date strings" - "a valid date string with 31 days in March" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 40 - date.json: "validation of date strings" - "a invalid date string with 32 days in March" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 41 - date.json: "validation of date strings" - "a valid date string with 30 days in April" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 42 - date.json: "validation of date strings" - "a invalid date string with 31 days in April" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 43 - date.json: "validation of date strings" - "a valid date string with 31 days in May" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 44 - date.json: "validation of date strings" - "a invalid date string with 32 days in May" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 45 - date.json: "validation of date strings" - "a valid date string with 30 days in June" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 46 - date.json: "validation of date strings" - "a invalid date string with 31 days in June" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 47 - date.json: "validation of date strings" - "a valid date string with 31 days in July" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 48 - date.json: "validation of date strings" - "a invalid date string with 32 days in July" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 49 - date.json: "validation of date strings" - "a valid date string with 31 days in August" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 50 - date.json: "validation of date strings" - "a invalid date string with 32 days in August" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 51 - date.json: "validation of date strings" - "a valid date string with 30 days in September" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 52 - date.json: "validation of date strings" - "a invalid date string with 31 days in September" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 53 - date.json: "validation of date strings" - "a valid date string with 31 days in October" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 54 - date.json: "validation of date strings" - "a invalid date string with 32 days in October" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 55 - date.json: "validation of date strings" - "a valid date string with 30 days in November" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 56 - date.json: "validation of date strings" - "a invalid date string with 31 days in November" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 57 - date.json: "validation of date strings" - "a valid date string with 31 days in December" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 58 - date.json: "validation of date strings" - "a invalid date string with 32 days in December" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 59 - date.json: "validation of date strings" - "a invalid date string with invalid month" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 60 - date.json: "validation of date strings" - "an invalid date string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 61 - date.json: "validation of date strings" - "only RFC3339 not all of ISO 8601 are valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 62 - date.json: "validation of date strings" - "non-padded month dates are not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 63 - date.json: "validation of date strings" - "non-padded day dates are not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 64 - date.json: "validation of date strings" - "invalid month" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 65 - date.json: "validation of date strings" - "invalid month-day combination" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 66 - date.json: "validation of date strings" - "2021 is not a leap year" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 67 - date.json: "validation of date strings" - "2020 is a leap year" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 68 - date.json: "validation of date strings" - "invalid non-ASCII '৪' (a Bengali 4)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 69 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: YYYYMMDD without dashes (2023-03-28)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 70 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: week number implicit day of week (2023-01-02)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 71 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: week number with day of week (2023-03-28)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 72 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: week number rollover to next year (2023-01-01)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 73 - duration.json: "validation of duration strings" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 74 - duration.json: "validation of duration strings" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 75 - duration.json: "validation of duration strings" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 76 - duration.json: "validation of duration strings" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 77 - duration.json: "validation of duration strings" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 78 - duration.json: "validation of duration strings" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 79 - duration.json: "validation of duration strings" - "a valid duration string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 80 - duration.json: "validation of duration strings" - "an invalid duration string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 81 - duration.json: "validation of duration strings" - "must start with P" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 82 - duration.json: "validation of duration strings" - "no elements present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 83 - duration.json: "validation of duration strings" - "no time elements present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 84 - duration.json: "validation of duration strings" - "no date or time elements present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 85 - duration.json: "validation of duration strings" - "elements out of order" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 86 - duration.json: "validation of duration strings" - "missing time separator" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 87 - duration.json: "validation of duration strings" - "time element in the date position" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 88 - duration.json: "validation of duration strings" - "four years duration" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 89 - duration.json: "validation of duration strings" - "zero time, in seconds" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 90 - duration.json: "validation of duration strings" - "zero time, in days" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 91 - duration.json: "validation of duration strings" - "one month duration" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 92 - duration.json: "validation of duration strings" - "one minute duration" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 93 - duration.json: "validation of duration strings" - "one and a half days, in hours" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 94 - duration.json: "validation of duration strings" - "one and a half days, in days and hours" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 95 - duration.json: "validation of duration strings" - "two weeks" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 96 - duration.json: "validation of duration strings" - "weeks cannot be combined with other units" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 97 - duration.json: "validation of duration strings" - "invalid non-ASCII '২' (a Bengali 2)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 98 - duration.json: "validation of duration strings" - "element without unit" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 99 - email.json: "validation of e-mail addresses" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 100 - email.json: "validation of e-mail addresses" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 101 - email.json: "validation of e-mail addresses" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 102 - email.json: "validation of e-mail addresses" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 103 - email.json: "validation of e-mail addresses" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 104 - email.json: "validation of e-mail addresses" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 105 - email.json: "validation of e-mail addresses" - "a valid e-mail address" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 106 - email.json: "validation of e-mail addresses" - "an invalid e-mail address" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 107 - email.json: "validation of e-mail addresses" - "tilde in local part is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 108 - email.json: "validation of e-mail addresses" - "tilde before local part is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 109 - email.json: "validation of e-mail addresses" - "tilde after local part is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 110 - email.json: "validation of e-mail addresses" - "dot before local part is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 111 - email.json: "validation of e-mail addresses" - "dot after local part is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 112 - email.json: "validation of e-mail addresses" - "two separated dots inside local part are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 113 - email.json: "validation of e-mail addresses" - "two subsequent dots inside local part are not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 114 - hostname.json: "validation of host names" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 115 - hostname.json: "validation of host names" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 116 - hostname.json: "validation of host names" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 117 - hostname.json: "validation of host names" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 118 - hostname.json: "validation of host names" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 119 - hostname.json: "validation of host names" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 120 - hostname.json: "validation of host names" - "a valid host name" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 121 - hostname.json: "validation of host names" - "a valid punycoded IDN hostname" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 122 - hostname.json: "validation of host names" - "a host name starting with an illegal character" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 123 - hostname.json: "validation of host names" - "a host name containing illegal characters" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 124 - hostname.json: "validation of host names" - "a host name with a component too long" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 125 - hostname.json: "validation of host names" - "starts with hyphen" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 126 - hostname.json: "validation of host names" - "ends with hyphen" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 127 - hostname.json: "validation of host names" - "starts with underscore" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 128 - hostname.json: "validation of host names" - "ends with underscore" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 129 - hostname.json: "validation of host names" - "contains underscore" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 130 - hostname.json: "validation of host names" - "maximum label length" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 131 - hostname.json: "validation of host names" - "exceeds maximum label length" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 132 - hostname.json: "validation of host names" - "single label" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "hostname"
    # }
    # data: "hostname"
    # result: 0
    1..1
}
ok 133 - hostname.json: "validation of host names" - "single label with hyphen" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "hostname"
    # }
    # data: "host-name"
    # result: 0
    1..1
}
ok 134 - hostname.json: "validation of host names" - "single label with digits" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "hostname"
    # }
    # data: "h0stn4me"
    # result: 0
    1..1
}
ok 135 - hostname.json: "validation of host names" - "single label starting with digit" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "hostname"
    # }
    # data: "1host"
    # result: 0
    1..1
}
ok 136 - hostname.json: "validation of host names" - "single label ending with digit" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "hostname"
    # }
    # data: "hostnam3"
    # result: 0
    1..1
}
ok 137 - hostname.json: "validation of host names" - "empty string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 138 - hostname.json: "validation of host names" - "single dot" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 139 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 140 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 141 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 142 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 143 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 144 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 145 - idn-email.json: "validation of an internationalized e-mail addresses" - "a valid idn e-mail (example@example.test in Hangul)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 146 - idn-email.json: "validation of an internationalized e-mail addresses" - "an invalid idn e-mail address" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 147 - idn-email.json: "validation of an internationalized e-mail addresses" - "a valid e-mail address" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 148 - idn-email.json: "validation of an internationalized e-mail addresses" - "an invalid e-mail address" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 149 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 150 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 151 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 152 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 153 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 154 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 155 - idn-hostname.json: "validation of internationalized host names" - "a valid host name (example.test in Hangul)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 156 - idn-hostname.json: "validation of internationalized host names" - "illegal first char U+302E Hangul single dot tone mark" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 157 - idn-hostname.json: "validation of internationalized host names" - "contains illegal char U+302E Hangul single dot tone mark" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "idn-hostname"
    # }
    # data: "실〮례.테스트"
    # result: 1
    1..1
}
ok 158 - idn-hostname.json: "validation of internationalized host names" - "a host name with a component too long" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 159 - idn-hostname.json: "validation of internationalized host names" - "invalid label, correct Punycode" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 160 - idn-hostname.json: "validation of internationalized host names" - "valid Chinese Punycode" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "idn-hostname"
    # }
    # data: "xn--ihqwcrb4cv8a8dqg056pqjye"
    # result: 0
    1..1
}
ok 161 - idn-hostname.json: "validation of internationalized host names" - "invalid Punycode" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 162 - idn-hostname.json: "validation of internationalized host names" - "U-label contains "--" in the 3rd and 4th position" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 163 - idn-hostname.json: "validation of internationalized host names" - "U-label starts with a dash" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 164 - idn-hostname.json: "validation of internationalized host names" - "U-label ends with a dash" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 165 - idn-hostname.json: "validation of internationalized host names" - "U-label starts and ends with a dash" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 166 - idn-hostname.json: "validation of internationalized host names" - "Begins with a Spacing Combining Mark" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 167 - idn-hostname.json: "validation of internationalized host names" - "Begins with a Nonspacing Mark" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 168 - idn-hostname.json: "validation of internationalized host names" - "Begins with an Enclosing Mark" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 169 - idn-hostname.json: "validation of internationalized host names" - "Exceptions that are PVALID, left-to-right chars" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "idn-hostname"
    # }
    # data: "ßς་〇"
    # result: 0
    1..1
}
ok 170 - idn-hostname.json: "validation of internationalized host names" - "Exceptions that are PVALID, right-to-left chars" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "idn-hostname"
    # }
    # data: "۽۾"
    # result: 0
    1..1
}
ok 171 - idn-hostname.json: "validation of internationalized host names" - "Exceptions that are DISALLOWED, right-to-left chars" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 172 - idn-hostname.json: "validation of internationalized host names" - "Exceptions that are DISALLOWED, left-to-right chars" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 173 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with no preceding 'l'" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 174 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with nothing preceding" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 175 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with no following 'l'" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 176 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with nothing following" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 177 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with surrounding 'l's" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "idn-hostname"
    # }
    # data: "l·l"
    # result: 0
    1..1
}
ok 178 - idn-hostname.json: "validation of internationalized host names" - "Greek KERAIA not followed by Greek" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 179 - idn-hostname.json: "validation of internationalized host names" - "Greek KERAIA not followed by anything" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 180 - idn-hostname.json: "validation of internationalized host names" - "Greek KERAIA followed by Greek" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "idn-hostname"
    # }
    # data: "α͵β"
    # result: 0
    1..1
}
ok 181 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERESH not preceded by Hebrew" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 182 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERESH not preceded by anything" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 183 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERESH preceded by Hebrew" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "idn-hostname"
    # }
    # data: "א׳ב"
    # result: 0
    1..1
}
ok 184 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERSHAYIM not preceded by Hebrew" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 185 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERSHAYIM not preceded by anything" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 186 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERSHAYIM preceded by Hebrew" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "idn-hostname"
    # }
    # data: "א״ב"
    # result: 0
    1..1
}
ok 187 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with no Hiragana, Katakana, or Han" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 188 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with no other characters" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 189 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with Hiragana" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "idn-hostname"
    # }
    # data: "・ぁ"
    # result: 0
    1..1
}
ok 190 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with Katakana" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "idn-hostname"
    # }
    # data: "・ァ"
    # result: 0
    1..1
}
ok 191 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with Han" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "idn-hostname"
    # }
    # data: "・丈"
    # result: 0
    1..1
}
ok 192 - idn-hostname.json: "validation of internationalized host names" - "Arabic-Indic digits mixed with Extended Arabic-Indic digits" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 193 - idn-hostname.json: "validation of internationalized host names" - "Arabic-Indic digits not mixed with Extended Arabic-Indic digits" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "idn-hostname"
    # }
    # data: "ب٠ب"
    # result: 0
    1..1
}
ok 194 - idn-hostname.json: "validation of internationalized host names" - "Extended Arabic-Indic digits not mixed with Arabic-Indic digits" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "idn-hostname"
    # }
    # data: "۰0"
    # result: 0
    1..1
}
ok 195 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH JOINER not preceded by Virama" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 196 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH JOINER not preceded by anything" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 197 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH JOINER preceded by Virama" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "idn-hostname"
    # }
    # data: "क्‍ष"
    # result: 0
    1..1
}
ok 198 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH NON-JOINER preceded by Virama" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "idn-hostname"
    # }
    # data: "क्‌ष"
    # result: 0
    1..1
}
ok 199 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH NON-JOINER not preceded by Virama but matches regexp" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "idn-hostname"
    # }
    # data: "بي‌بي"
    # result: 0
    1..1
}
ok 200 - idn-hostname.json: "validation of internationalized host names" - "single label" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "idn-hostname"
    # }
    # data: "hostname"
    # result: 0
    1..1
}
ok 201 - idn-hostname.json: "validation of internationalized host names" - "single label with hyphen" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "idn-hostname"
    # }
    # data: "host-name"
    # result: 0
    1..1
}
ok 202 - idn-hostname.json: "validation of internationalized host names" - "single label with digits" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "idn-hostname"
    # }
    # data: "h0stn4me"
    # result: 0
    1..1
}
ok 203 - idn-hostname.json: "validation of internationalized host names" - "single label starting with digit" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "idn-hostname"
    # }
    # data: "1host"
    # result: 0
    1..1
}
ok 204 - idn-hostname.json: "validation of internationalized host names" - "single label ending with digit" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "idn-hostname"
    # }
    # data: "hostnam3"
    # result: 0
    1..1
}
ok 205 - idn-hostname.json: "validation of internationalized host names" - "empty string" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 206 - idn-hostname.json: "validation of internationalized host names" - "single dot" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
# 
ok 207 - ipv4.json: "validation of IP addresses" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 208 - ipv4.json: "validation of IP addresses" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 209 - ipv4.json: "validation of IP addresses" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 210 - ipv4.json: "validation of IP addresses" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 211 - ipv4.json: "validation of IP addresses" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 212 - ipv4.json: "validation of IP addresses" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 213 - ipv4.json: "validation of IP addresses" - "a valid IP address" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 214 - ipv4.json: "validation of IP addresses" - "an IP address with too many components" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 215 - ipv4.json: "validation of IP addresses" - "an IP address with out-of-range values" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 216 - ipv4.json: "validation of IP addresses" - "an IP address without 4 components" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 217 - ipv4.json: "validation of IP addresses" - "an IP address as an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 218 - ipv4.json: "validation of IP addresses" - "an IP address as an integer (decimal)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 219 - ipv4.json: "validation of IP addresses" - "invalid leading zeroes, as they are treated as octals" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 220 - ipv4.json: "validation of IP addresses" - "value without leading zero is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 221 - ipv4.json: "validation of IP addresses" - "invalid non-ASCII '২' (a Bengali 2)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 222 - ipv4.json: "validation of IP addresses" - "netmask is not a part of ipv4 address" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 223 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 224 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 225 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 226 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 227 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 228 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 229 - ipv6.json: "validation of IPv6 addresses" - "a valid IPv6 address" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 230 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address with out-of-range values" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 231 - ipv6.json: "validation of IPv6 addresses" - "trailing 4 hex symbols is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 232 - ipv6.json: "validation of IPv6 addresses" - "trailing 5 hex symbols is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 233 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address with too many components" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 234 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address containing illegal characters" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 235 - ipv6.json: "validation of IPv6 addresses" - "no digits is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 236 - ipv6.json: "validation of IPv6 addresses" - "leading colons is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 237 - ipv6.json: "validation of IPv6 addresses" - "trailing colons is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 238 - ipv6.json: "validation of IPv6 addresses" - "missing leading octet is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 239 - ipv6.json: "validation of IPv6 addresses" - "missing trailing octet is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 240 - ipv6.json: "validation of IPv6 addresses" - "missing leading octet with omitted octets later" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 241 - ipv6.json: "validation of IPv6 addresses" - "single set of double colons in the middle is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 242 - ipv6.json: "validation of IPv6 addresses" - "two sets of double colons is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 243 - ipv6.json: "validation of IPv6 addresses" - "mixed format with the ipv4 section as decimal octets" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 244 - ipv6.json: "validation of IPv6 addresses" - "mixed format with double colons between the sections" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 245 - ipv6.json: "validation of IPv6 addresses" - "mixed format with ipv4 section with octet out of range" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 246 - ipv6.json: "validation of IPv6 addresses" - "mixed format with ipv4 section with a hex octet" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 247 - ipv6.json: "validation of IPv6 addresses" - "mixed format with leading double colons (ipv4-mapped ipv6 address)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 248 - ipv6.json: "validation of IPv6 addresses" - "triple colons is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 249 - ipv6.json: "validation of IPv6 addresses" - "8 octets" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 250 - ipv6.json: "validation of IPv6 addresses" - "insufficient octets without double colons" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 251 - ipv6.json: "validation of IPv6 addresses" - "no colons is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 252 - ipv6.json: "validation of IPv6 addresses" - "ipv4 is not ipv6" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 253 - ipv6.json: "validation of IPv6 addresses" - "ipv4 segment must have 4 octets" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 254 - ipv6.json: "validation of IPv6 addresses" - "leading whitespace is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 255 - ipv6.json: "validation of IPv6 addresses" - "trailing whitespace is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 256 - ipv6.json: "validation of IPv6 addresses" - "netmask is not a part of ipv6 address" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 257 - ipv6.json: "validation of IPv6 addresses" - "zone id is not a part of ipv6 address" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 258 - ipv6.json: "validation of IPv6 addresses" - "a long valid ipv6" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 259 - ipv6.json: "validation of IPv6 addresses" - "a long invalid ipv6, below length limit, first" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 260 - ipv6.json: "validation of IPv6 addresses" - "a long invalid ipv6, below length limit, second" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 261 - ipv6.json: "validation of IPv6 addresses" - "invalid non-ASCII '৪' (a Bengali 4)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 262 - ipv6.json: "validation of IPv6 addresses" - "invalid non-ASCII '৪' (a Bengali 4) in the IPv4 portion" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 263 - iri-reference.json: "validation of IRI References" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 264 - iri-reference.json: "validation of IRI References" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 265 - iri-reference.json: "validation of IRI References" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 266 - iri-reference.json: "validation of IRI References" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 267 - iri-reference.json: "validation of IRI References" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 268 - iri-reference.json: "validation of IRI References" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 269 - iri-reference.json: "validation of IRI References" - "a valid IRI" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 270 - iri-reference.json: "validation of IRI References" - "a valid protocol-relative IRI Reference" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 271 - iri-reference.json: "validation of IRI References" - "a valid relative IRI Reference" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 272 - iri-reference.json: "validation of IRI References" - "an invalid IRI Reference" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "iri-reference"
    # }
    # data: "\\\\WINDOWS\\filëßåré"
    # result: 1
    1..1
}
ok 273 - iri-reference.json: "validation of IRI References" - "a valid IRI Reference" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 274 - iri-reference.json: "validation of IRI References" - "a valid IRI fragment" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 275 - iri-reference.json: "validation of IRI References" - "an invalid IRI fragment" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "iri-reference"
    # }
    # data: "#ƒräg\\mênt"
    # result: 1
    1..1
}
# 
ok 276 - iri.json: "validation of IRIs" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 277 - iri.json: "validation of IRIs" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 278 - iri.json: "validation of IRIs" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 279 - iri.json: "validation of IRIs" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 280 - iri.json: "validation of IRIs" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 281 - iri.json: "validation of IRIs" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 282 - iri.json: "validation of IRIs" - "a valid IRI with anchor tag" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 283 - iri.json: "validation of IRIs" - "a valid IRI with anchor tag and parentheses" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 284 - iri.json: "validation of IRIs" - "a valid IRI with URL-encoded stuff" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 285 - iri.json: "validation of IRIs" - "a valid IRI with many special characters" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 286 - iri.json: "validation of IRIs" - "a valid IRI based on IPv6" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 287 - iri.json: "validation of IRIs" - "an invalid IRI based on IPv6" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "iri"
    # }
    # data: "http://2001:0db8:85a3:0000:0000:8a2e:0370:7334"
    # result: 1
    1..1
}
ok 288 - iri.json: "validation of IRIs" - "an invalid relative IRI Reference" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid iri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid iri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 289 - iri.json: "validation of IRIs" - "an invalid IRI" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid iri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid iri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 290 - iri.json: "validation of IRIs" - "an invalid IRI though valid IRI reference" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid iri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid iri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 291 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 292 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 293 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 294 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 295 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 296 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 297 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "a valid JSON-pointer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 298 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (~ not escaped)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 299 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer with empty segment" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 300 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer with the last empty segment" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 301 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#1" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 302 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#2" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 303 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#3" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 304 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#4" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 305 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#5" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 306 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#6" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 307 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#7" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 308 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#8" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 309 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#9" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 310 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#10" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 311 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#11" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 312 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#12" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 313 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer used adding to the last array position" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 314 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (- used as object member name)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 315 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (multiple escaped characters)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 316 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (escaped with fraction part) \#1" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 317 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (escaped with fraction part) \#2" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 318 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#1" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 319 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#2" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 320 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#3" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 321 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (some escaped, but not all) \#1" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 322 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (some escaped, but not all) \#2" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 323 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (wrong escape character) \#1" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 324 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (wrong escape character) \#2" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 325 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (multiple characters not escaped)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 326 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#1" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 327 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#2" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 328 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#3" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 329 - regex.json: "validation of regular expressions" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 330 - regex.json: "validation of regular expressions" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 331 - regex.json: "validation of regular expressions" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 332 - regex.json: "validation of regular expressions" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 333 - regex.json: "validation of regular expressions" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 334 - regex.json: "validation of regular expressions" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 335 - regex.json: "validation of regular expressions" - "a valid regular expression" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 336 - regex.json: "validation of regular expressions" - "a regular expression with unclosed parens is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid regex",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid regex",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 337 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 338 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 339 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 340 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 341 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 342 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 343 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid upwards RJP" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 344 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid downwards RJP" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 345 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid up and then down RJP, with array index" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 346 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid RJP taking the member or index name" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 347 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "an invalid RJP that is a valid JSON Pointer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 348 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "negative prefix" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 349 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "explicit positive prefix" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 350 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "\#\# is not a valid json-pointer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 351 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "zero cannot be followed by other digits, plus json-pointer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 352 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "zero cannot be followed by other digits, plus octothorpe" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 353 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "empty string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 354 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "multi-digit integer prefix" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 355 - time.json: "validation of time strings" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 356 - time.json: "validation of time strings" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 357 - time.json: "validation of time strings" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 358 - time.json: "validation of time strings" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 359 - time.json: "validation of time strings" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 360 - time.json: "validation of time strings" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 361 - time.json: "validation of time strings" - "a valid time string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 362 - time.json: "validation of time strings" - "invalid time string with extra leading zeros" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 363 - time.json: "validation of time strings" - "invalid time string with no leading zero for single digit" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 364 - time.json: "validation of time strings" - "hour, minute, second must be two digits" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 365 - time.json: "validation of time strings" - "a valid time string with leap second, Zulu" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 366 - time.json: "validation of time strings" - "invalid leap second, Zulu (wrong hour)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 367 - time.json: "validation of time strings" - "invalid leap second, Zulu (wrong minute)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 368 - time.json: "validation of time strings" - "valid leap second, zero time-offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 369 - time.json: "validation of time strings" - "invalid leap second, zero time-offset (wrong hour)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 370 - time.json: "validation of time strings" - "invalid leap second, zero time-offset (wrong minute)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 371 - time.json: "validation of time strings" - "valid leap second, positive time-offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 372 - time.json: "validation of time strings" - "valid leap second, large positive time-offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 373 - time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong hour)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 374 - time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong minute)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 375 - time.json: "validation of time strings" - "valid leap second, negative time-offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 376 - time.json: "validation of time strings" - "valid leap second, large negative time-offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 377 - time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong hour)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 378 - time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong minute)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 379 - time.json: "validation of time strings" - "a valid time string with second fraction" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 380 - time.json: "validation of time strings" - "a valid time string with precise second fraction" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 381 - time.json: "validation of time strings" - "a valid time string with plus offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 382 - time.json: "validation of time strings" - "a valid time string with minus offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 383 - time.json: "validation of time strings" - "hour, minute in time-offset must be two digits" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 384 - time.json: "validation of time strings" - "a valid time string with case-insensitive Z" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 385 - time.json: "validation of time strings" - "an invalid time string with invalid hour" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 386 - time.json: "validation of time strings" - "an invalid time string with invalid minute" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 387 - time.json: "validation of time strings" - "an invalid time string with invalid second" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 388 - time.json: "validation of time strings" - "an invalid time string with invalid leap second (wrong hour)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 389 - time.json: "validation of time strings" - "an invalid time string with invalid leap second (wrong minute)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 390 - time.json: "validation of time strings" - "an invalid time string with invalid time numoffset hour" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 391 - time.json: "validation of time strings" - "an invalid time string with invalid time numoffset minute" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 392 - time.json: "validation of time strings" - "an invalid time string with invalid time with both Z and numoffset" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 393 - time.json: "validation of time strings" - "an invalid offset indicator" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 394 - time.json: "validation of time strings" - "only RFC3339 not all of ISO 8601 are valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 395 - time.json: "validation of time strings" - "no time offset" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 396 - time.json: "validation of time strings" - "no time offset with second fraction" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 397 - time.json: "validation of time strings" - "invalid non-ASCII '২' (a Bengali 2)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 398 - time.json: "validation of time strings" - "offset not starting with plus or minus" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 399 - time.json: "validation of time strings" - "contains letters" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 400 - unknown.json: "unknown format" - "unknown formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 401 - unknown.json: "unknown format" - "unknown formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 402 - unknown.json: "unknown format" - "unknown formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 403 - unknown.json: "unknown format" - "unknown formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 404 - unknown.json: "unknown format" - "unknown formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 405 - unknown.json: "unknown format" - "unknown formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 406 - unknown.json: "unknown format" - "unknown formats ignore strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 407 - uri-reference.json: "validation of URI References" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 408 - uri-reference.json: "validation of URI References" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 409 - uri-reference.json: "validation of URI References" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 410 - uri-reference.json: "validation of URI References" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 411 - uri-reference.json: "validation of URI References" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 412 - uri-reference.json: "validation of URI References" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 413 - uri-reference.json: "validation of URI References" - "a valid URI" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 414 - uri-reference.json: "validation of URI References" - "a valid protocol-relative URI Reference" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 415 - uri-reference.json: "validation of URI References" - "a valid relative URI Reference" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 416 - uri-reference.json: "validation of URI References" - "an invalid URI Reference" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri-reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri-reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 417 - uri-reference.json: "validation of URI References" - "a valid URI Reference" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 418 - uri-reference.json: "validation of URI References" - "a valid URI fragment" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 419 - uri-reference.json: "validation of URI References" - "an invalid URI fragment" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri-reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri-reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 420 - uri-template.json: "format: uri-template" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 421 - uri-template.json: "format: uri-template" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 422 - uri-template.json: "format: uri-template" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 423 - uri-template.json: "format: uri-template" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 424 - uri-template.json: "format: uri-template" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 425 - uri-template.json: "format: uri-template" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 426 - uri-template.json: "format: uri-template" - "a valid uri-template" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 427 - uri-template.json: "format: uri-template" - "an invalid uri-template" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "uri-template"
    # }
    # data: "http://example.com/dictionary/{term:1}/{term"
    # result: 1
    1..1
}
ok 428 - uri-template.json: "format: uri-template" - "a valid uri-template without variables" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 429 - uri-template.json: "format: uri-template" - "a valid relative uri-template" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
# 
ok 430 - uri.json: "validation of URIs" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 431 - uri.json: "validation of URIs" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 432 - uri.json: "validation of URIs" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 433 - uri.json: "validation of URIs" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 434 - uri.json: "validation of URIs" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 435 - uri.json: "validation of URIs" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 436 - uri.json: "validation of URIs" - "a valid URL with anchor tag" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 437 - uri.json: "validation of URIs" - "a valid URL with anchor tag and parentheses" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 438 - uri.json: "validation of URIs" - "a valid URL with URL-encoded stuff" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 439 - uri.json: "validation of URIs" - "a valid puny-coded URL " {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 440 - uri.json: "validation of URIs" - "a valid URL with many special characters" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 441 - uri.json: "validation of URIs" - "a valid URL based on IPv4" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 442 - uri.json: "validation of URIs" - "a valid URL with ftp scheme" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 443 - uri.json: "validation of URIs" - "a valid URL for a simple text file" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 444 - uri.json: "validation of URIs" - "a valid URL " {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 445 - uri.json: "validation of URIs" - "a valid mailto URI" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 446 - uri.json: "validation of URIs" - "a valid newsgroup URI" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 447 - uri.json: "validation of URIs" - "a valid tel URI" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 448 - uri.json: "validation of URIs" - "a valid URN" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 449 - uri.json: "validation of URIs" - "an invalid protocol-relative URI Reference" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 450 - uri.json: "validation of URIs" - "an invalid relative URI Reference" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 451 - uri.json: "validation of URIs" - "an invalid URI" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 452 - uri.json: "validation of URIs" - "an invalid URI though valid URI reference" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 453 - uri.json: "validation of URIs" - "an invalid URI with spaces" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 454 - uri.json: "validation of URIs" - "an invalid URI with spaces and missing scheme" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 455 - uri.json: "validation of URIs" - "an invalid URI with comma in scheme" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09-format.t line 68.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "format": "uri"
    # }
    # data: "bar,baz:foo"
    # result: 1
    1..1
}
# 
ok 456 - uuid.json: "uuid format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 457 - uuid.json: "uuid format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 458 - uuid.json: "uuid format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 459 - uuid.json: "uuid format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 460 - uuid.json: "uuid format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 461 - uuid.json: "uuid format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 462 - uuid.json: "uuid format" - "all upper-case" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 463 - uuid.json: "uuid format" - "all lower-case" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 464 - uuid.json: "uuid format" - "mixed case" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 465 - uuid.json: "uuid format" - "all zeroes is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 466 - uuid.json: "uuid format" - "wrong length" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 467 - uuid.json: "uuid format" - "missing section" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 468 - uuid.json: "uuid format" - "bad characters (not hex)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 469 - uuid.json: "uuid format" - "no dashes" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 470 - uuid.json: "uuid format" - "too few dashes" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 471 - uuid.json: "uuid format" - "too many dashes" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 472 - uuid.json: "uuid format" - "dashes in the wrong spot" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 473 - uuid.json: "uuid format" - "valid version 4" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 474 - uuid.json: "uuid format" - "valid version 5" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 475 - uuid.json: "uuid format" - "hypothetical version 6" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 476 - uuid.json: "uuid format" - "hypothetical version 15" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 477 - no leaks in the main evaluator object
ok 478 - no leaks in the short-circuiting evaluator object
1..478
ok
# AUTHOR_TESTING: <undef>
# AUTOMATED_TESTING: 1
# EXTENDED_TESTING: <undef>
# NO_TODO: <undef>
# TEST_DIR: <undef>
# NO_SHORT_CIRCUIT: <undef>
# 
# 
# generated with:              Test::JSON::Schema::Acceptance 1.027
# with commit:                 e524505b8ac4a61c5dc162b51d68c2385a134706 (Test-JSON-Schema-Acceptance-1.026-16-ge524505)
# from repository:             git://github.com/json-schema-org/JSON-Schema-Test-Suite.git
# specification version:       draft2019-09
# optional tests included:     yes
# skipping directory:          optional/format
# 
# filename                                  pass  todo-fail  fail
# ---------------------------------------------------------------
# additionalItems.json                        20          0     0
# additionalProperties.json                   21          0     0
# allOf.json                                  30          0     0
# anchor.json                                  8          0     0
# anyOf.json                                  18          0     0
# boolean_schema.json                         18          0     0
# const.json                                  50          0     0
# contains.json                               21          0     0
# content.json                                18          0     0
# default.json                                 7          0     0
# defs.json                                    2          0     0
# dependentRequired.json                      20          0     0
# dependentSchemas.json                       20          0     0
# enum.json                                   45          0     0
# exclusiveMaximum.json                        4          0     0
# exclusiveMinimum.json                        4          0     0
# format.json                                114          0     0
# if-then-else.json                           26          0     0
# infinite-loop-detection.json                 2          0     0
# items.json                                  28          0     0
# maxContains.json                            12          0     0
# maxItems.json                                6          0     0
# maxLength.json                               7          0     0
# maxProperties.json                          10          0     0
# maximum.json                                 8          0     0
# minContains.json                            28          0     0
# minItems.json                                6          0     0
# minLength.json                               7          0     0
# minProperties.json                           8          0     0
# minimum.json                                11          0     0
# multipleOf.json                             10          0     0
# not.json                                    40          0     0
# oneOf.json                                  27          0     0
# pattern.json                                 9          0     0
# patternProperties.json                      23          0     0
# properties.json                             28          0     0
# propertyNames.json                          13          0     0
# recursiveRef.json                           34          0     0
# ref.json                                    79          0     0
# refRemote.json                              31          0     0
# required.json                               16          0     0
# type.json                                   80          0     0
# unevaluatedItems.json                       55          0     0
# unevaluatedProperties.json                 122          0     0
# uniqueItems.json                            69          0     0
# vocabulary.json                              5          0     0
# optional/anchor.json                         4          0     0
# optional/bignum.json                         9          0     0
# optional/cross-draft.json                    3          0     0
# optional/dependencies-compatibility.json    22         14     0
# optional/ecmascript-regex.json              60         14     0
# optional/float-overflow.json                 1          0     0
# optional/id.json                             3          0     0
# optional/no-schema.json                      3          0     0
# optional/non-bmp-regex.json                 12          0     0
# optional/refOfUnknownKeyword.json            3          3     0
# optional/unknownKeyword.json                 3          0     0
# ---------------------------------------------------------------
# TOTAL                                     1343         31     0
# 
# Congratulations, all non-optional tests are passing!
# 
t/zzz-acceptance-draft2019-09.t ......... 
# adding resources from /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/remotes with the base URI "http://localhost:1234"...
# running tests in /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/tests/draft2019-09 against draft2019-09...
# 
ok 1 - additionalItems.json: "additionalItems as schema" - "additional items match schema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 2 - additionalItems.json: "additionalItems as schema" - "additional items do not match schema" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/additionalItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/additionalItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 3 - additionalItems.json: "when items is schema, additionalItems does nothing" - "valid with a array of type integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 4 - additionalItems.json: "when items is schema, additionalItems does nothing" - "invalid with a array of mixed types" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/type"
    #     },
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 5 - additionalItems.json: "when items is schema, boolean additionalItems does nothing" - "all items match schema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 6 - additionalItems.json: "array of items with no additionalItems permitted" - "empty array" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 7 - additionalItems.json: "array of items with no additionalItems permitted" - "fewer number of items present (1)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 8 - additionalItems.json: "array of items with no additionalItems permitted" - "fewer number of items present (2)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 9 - additionalItems.json: "array of items with no additionalItems permitted" - "equal number of items present" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 10 - additionalItems.json: "array of items with no additionalItems permitted" - "additional items are not permitted" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 11 - additionalItems.json: "additionalItems as false without items" - "items defaults to empty schema so everything is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 12 - additionalItems.json: "additionalItems as false without items" - "ignores non-arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 13 - additionalItems.json: "additionalItems are allowed by default" - "only the first item is validated" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 14 - additionalItems.json: "additionalItems does not look in applicators, valid case" - "items defined in allOf are not examined" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 15 - additionalItems.json: "additionalItems does not look in applicators, invalid case" - "items defined in allOf are not examined" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/additionalItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/additionalItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 16 - additionalItems.json: "items validation adjusts the starting index for additionalItems" - "valid items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 17 - additionalItems.json: "items validation adjusts the starting index for additionalItems" - "wrong type of second item" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/additionalItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/additionalItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 18 - additionalItems.json: "additionalItems with heterogeneous array" - "heterogeneous invalid instance" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 19 - additionalItems.json: "additionalItems with heterogeneous array" - "valid instance" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 20 - additionalItems.json: "additionalItems with null instance elements" - "allows null elements" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 21 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "no additional properties is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 22 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "an additional property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 23 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 24 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 25 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 26 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "patternProperties are not additional properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 27 - additionalProperties.json: "non-ASCII pattern with additionalProperties" - "matching the pattern is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 28 - additionalProperties.json: "non-ASCII pattern with additionalProperties" - "not matching the pattern is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/élmény",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/élmény",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 29 - additionalProperties.json: "additionalProperties with schema" - "no additional properties is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 30 - additionalProperties.json: "additionalProperties with schema" - "an additional valid property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 31 - additionalProperties.json: "additionalProperties with schema" - "an additional invalid property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 32 - additionalProperties.json: "additionalProperties can exist by itself" - "an additional valid property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 33 - additionalProperties.json: "additionalProperties can exist by itself" - "an additional invalid property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 34 - additionalProperties.json: "additionalProperties are allowed by default" - "additional properties are allowed" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 35 - additionalProperties.json: "additionalProperties does not look in applicators" - "properties defined in allOf are not examined" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 36 - additionalProperties.json: "additionalProperties with null valued instance properties" - "allows null values" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 37 - additionalProperties.json: "additionalProperties with propertyNames" - "Valid against both keywords" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 38 - additionalProperties.json: "additionalProperties with propertyNames" - "Valid against propertyNames, but not additionalProperties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/pear",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/pear",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 39 - additionalProperties.json: "dependentSchemas with additionalProperties" - "additionalProperties doesn't consider dependentSchemas" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 40 - additionalProperties.json: "dependentSchemas with additionalProperties" - "additionalProperties can't see bar" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 41 - additionalProperties.json: "dependentSchemas with additionalProperties" - "additionalProperties can't see bar even when foo2 is present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 42 - allOf.json: "allOf" - "allOf" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 43 - allOf.json: "allOf" - "mismatch second" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 44 - allOf.json: "allOf" - "mismatch first" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/required"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/required"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 45 - allOf.json: "allOf" - "wrong type" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/properties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/properties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 46 - allOf.json: "allOf with base schema" - "valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 47 - allOf.json: "allOf with base schema" - "mismatch base schema" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 48 - allOf.json: "allOf with base schema" - "mismatch first allOf" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 49 - allOf.json: "allOf with base schema" - "mismatch second allOf" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: baz",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/required"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: baz",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/required"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 50 - allOf.json: "allOf with base schema" - "mismatch both" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "object is missing property: baz",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/required"
    #     },
    #     {
    #       "error": "subschemas 0, 1 are not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 51 - allOf.json: "allOf simple types" - "valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 52 - allOf.json: "allOf simple types" - "mismatch one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 30",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/maximum"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 30",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/maximum"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 53 - allOf.json: "allOf with boolean schemas, all true" - "any value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 54 - allOf.json: "allOf with boolean schemas, some false" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 55 - allOf.json: "allOf with boolean schemas, all false" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1"
    #     },
    #     {
    #       "error": "subschemas 0, 1 are not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 56 - allOf.json: "allOf with one empty schema" - "any data is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 57 - allOf.json: "allOf with two empty schemas" - "any data is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 58 - allOf.json: "allOf with the first empty schema" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 59 - allOf.json: "allOf with the first empty schema" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/type"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/type"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 60 - allOf.json: "allOf with the last empty schema" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 61 - allOf.json: "allOf with the last empty schema" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 62 - allOf.json: "nested allOf, to check validation semantics" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 63 - allOf.json: "nested allOf, to check validation semantics" - "anything non-null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/allOf/0/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/allOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/allOf/0/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/allOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 64 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: false, oneOf: false" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 65 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: false, oneOf: true" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 66 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: true, oneOf: false" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 67 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: true, oneOf: true" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 68 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: false, oneOf: false" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 69 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: false, oneOf: true" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 70 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: true, oneOf: false" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 71 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: true, oneOf: true" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 72 - anchor.json: "Location-independent identifier" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 73 - anchor.json: "Location-independent identifier" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 74 - anchor.json: "Location-independent identifier with absolute URI" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 75 - anchor.json: "Location-independent identifier with absolute URI" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/bar#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/bar#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 76 - anchor.json: "Location-independent identifier with base URI change in subschema" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 77 - anchor.json: "Location-independent identifier with base URI change in subschema" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested.json#/$defs/B/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested.json#/$defs/B/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 78 - anchor.json: "same $anchor with different base uri" - "$ref resolves to /$defs/A/allOf/1" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 79 - anchor.json: "same $anchor with different base uri" - "$ref does not resolve to /$defs/A/allOf/0" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/child1#/allOf/1/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/child1#/allOf/1/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 80 - anyOf.json: "anyOf" - "first anyOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 81 - anyOf.json: "anyOf" - "second anyOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 82 - anyOf.json: "anyOf" - "both anyOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 83 - anyOf.json: "anyOf" - "neither anyOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/minimum"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/minimum"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 84 - anyOf.json: "anyOf with base schema" - "mismatch base schema" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 85 - anyOf.json: "anyOf with base schema" - "one anyOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 86 - anyOf.json: "anyOf with base schema" - "both anyOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/maxLength"
    #     },
    #     {
    #       "error": "length is less than 4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/minLength"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/maxLength"
    #     },
    #     {
    #       "error": "length is less than 4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/minLength"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 87 - anyOf.json: "anyOf with boolean schemas, all true" - "any value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 88 - anyOf.json: "anyOf with boolean schemas, some true" - "any value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 89 - anyOf.json: "anyOf with boolean schemas, all false" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 90 - anyOf.json: "anyOf complex types" - "first anyOf valid (complex)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 91 - anyOf.json: "anyOf complex types" - "second anyOf valid (complex)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 92 - anyOf.json: "anyOf complex types" - "both anyOf valid (complex)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 93 - anyOf.json: "anyOf complex types" - "neither anyOf valid (complex)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/anyOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/properties"
    #     },
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/properties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/anyOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/properties"
    #     },
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/properties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 94 - anyOf.json: "anyOf with one empty schema" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 95 - anyOf.json: "anyOf with one empty schema" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 96 - anyOf.json: "nested anyOf, to check validation semantics" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 97 - anyOf.json: "nested anyOf, to check validation semantics" - "anything non-null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/anyOf/0/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/anyOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/anyOf/0/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/anyOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 98 - boolean_schema.json: "boolean schema 'true'" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 99 - boolean_schema.json: "boolean schema 'true'" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 100 - boolean_schema.json: "boolean schema 'true'" - "boolean true is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 101 - boolean_schema.json: "boolean schema 'true'" - "boolean false is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 102 - boolean_schema.json: "boolean schema 'true'" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 103 - boolean_schema.json: "boolean schema 'true'" - "object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 104 - boolean_schema.json: "boolean schema 'true'" - "empty object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 105 - boolean_schema.json: "boolean schema 'true'" - "array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 106 - boolean_schema.json: "boolean schema 'true'" - "empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 107 - boolean_schema.json: "boolean schema 'false'" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 108 - boolean_schema.json: "boolean schema 'false'" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 109 - boolean_schema.json: "boolean schema 'false'" - "boolean true is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 110 - boolean_schema.json: "boolean schema 'false'" - "boolean false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 111 - boolean_schema.json: "boolean schema 'false'" - "null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 112 - boolean_schema.json: "boolean schema 'false'" - "object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 113 - boolean_schema.json: "boolean schema 'false'" - "empty object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 114 - boolean_schema.json: "boolean schema 'false'" - "array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 115 - boolean_schema.json: "boolean schema 'false'" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 116 - const.json: "const validation" - "same value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 117 - const.json: "const validation" - "another value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 118 - const.json: "const validation" - "another type is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 119 - const.json: "const with object" - "same object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 120 - const.json: "const with object" - "same object with different property order is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 121 - const.json: "const with object" - "another object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 122 - const.json: "const with object" - "another type is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 123 - const.json: "const with array" - "same array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 124 - const.json: "const with array" - "another array item is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs object)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs object)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 125 - const.json: "const with array" - "array with additional items is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 126 - const.json: "const with null" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 127 - const.json: "const with null" - "not null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 128 - const.json: "const with false does not match 0" - "false is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 129 - const.json: "const with false does not match 0" - "integer zero is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 130 - const.json: "const with false does not match 0" - "float zero is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 131 - const.json: "const with true does not match 1" - "true is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 132 - const.json: "const with true does not match 1" - "integer one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 133 - const.json: "const with true does not match 1" - "float one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 134 - const.json: "const with [false] does not match [0]" - "[false] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 135 - const.json: "const with [false] does not match [0]" - "[0] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 136 - const.json: "const with [false] does not match [0]" - "[0.0] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 137 - const.json: "const with [true] does not match [1]" - "[true] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 138 - const.json: "const with [true] does not match [1]" - "[1] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 139 - const.json: "const with [true] does not match [1]" - "[1.0] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 140 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": false} is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 141 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": 0} is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 142 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": 0.0} is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 143 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": true} is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 144 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": 1} is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 145 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": 1.0} is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 146 - const.json: "const with 0 does not match other zero-like types" - "false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 147 - const.json: "const with 0 does not match other zero-like types" - "integer zero is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 148 - const.json: "const with 0 does not match other zero-like types" - "float zero is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 149 - const.json: "const with 0 does not match other zero-like types" - "empty object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 150 - const.json: "const with 0 does not match other zero-like types" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 151 - const.json: "const with 0 does not match other zero-like types" - "empty string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 152 - const.json: "const with 1 does not match true" - "true is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 153 - const.json: "const with 1 does not match true" - "integer one is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 154 - const.json: "const with 1 does not match true" - "float one is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 155 - const.json: "const with -2.0 matches integer and float types" - "integer -2 is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 156 - const.json: "const with -2.0 matches integer and float types" - "integer 2 is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 157 - const.json: "const with -2.0 matches integer and float types" - "float -2.0 is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 158 - const.json: "const with -2.0 matches integer and float types" - "float 2.0 is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 159 - const.json: "const with -2.0 matches integer and float types" - "float -2.00001 is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 160 - const.json: "float and integers are equal up to 64-bit representation limits" - "integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 161 - const.json: "float and integers are equal up to 64-bit representation limits" - "integer minus one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 162 - const.json: "float and integers are equal up to 64-bit representation limits" - "float is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 163 - const.json: "float and integers are equal up to 64-bit representation limits" - "float minus one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 164 - const.json: "nul characters in strings" - "match string with nul" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 165 - const.json: "nul characters in strings" - "do not match string lacking nul" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 166 - contains.json: "contains keyword validation" - "array with item matching schema (5) is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 167 - contains.json: "contains keyword validation" - "array with item matching schema (6) is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 168 - contains.json: "contains keyword validation" - "array with two items matching schema (5, 6) is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 169 - contains.json: "contains keyword validation" - "array without items matching schema is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 5",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/minimum"
    #     },
    #     {
    #       "error": "value is less than 5",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/minimum"
    #     },
    #     {
    #       "error": "value is less than 5",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/contains/minimum"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 5",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/minimum"
    #     },
    #     {
    #       "error": "value is less than 5",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/minimum"
    #     },
    #     {
    #       "error": "value is less than 5",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/contains/minimum"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 170 - contains.json: "contains keyword validation" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 171 - contains.json: "contains keyword validation" - "not array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 172 - contains.json: "contains keyword with const keyword" - "array with item 5 is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 173 - contains.json: "contains keyword with const keyword" - "array with two items 5 is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 174 - contains.json: "contains keyword with const keyword" - "array without item 5 is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 175 - contains.json: "contains keyword with boolean schema true" - "any non-empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 176 - contains.json: "contains keyword with boolean schema true" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 177 - contains.json: "contains keyword with boolean schema false" - "any non-empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 178 - contains.json: "contains keyword with boolean schema false" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 179 - contains.json: "contains keyword with boolean schema false" - "non-arrays are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 180 - contains.json: "items + contains" - "matches items, does not match contains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 181 - contains.json: "items + contains" - "does not match items, matches contains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 182 - contains.json: "items + contains" - "matches both items and contains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 183 - contains.json: "items + contains" - "matches neither items nor contains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 184 - contains.json: "contains with false if subschema" - "any non-empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 185 - contains.json: "contains with false if subschema" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 186 - contains.json: "contains with null instance elements" - "allows null items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 187 - content.json: "validation of string-encoded content based on media type" - "a valid JSON document" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 188 - content.json: "validation of string-encoded content based on media type" - "an invalid JSON document; validates true" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 189 - content.json: "validation of string-encoded content based on media type" - "ignores non-strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 190 - content.json: "validation of binary string-encoding" - "a valid base64 string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 191 - content.json: "validation of binary string-encoding" - "an invalid base64 string (% is not a valid character); validates true" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 192 - content.json: "validation of binary string-encoding" - "ignores non-strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 193 - content.json: "validation of binary-encoded media type documents" - "a valid base64-encoded JSON document" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 194 - content.json: "validation of binary-encoded media type documents" - "a validly-encoded invalid JSON document; validates true" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 195 - content.json: "validation of binary-encoded media type documents" - "an invalid base64 string that is valid JSON; validates true" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 196 - content.json: "validation of binary-encoded media type documents" - "ignores non-strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 197 - content.json: "validation of binary-encoded media type documents with schema" - "a valid base64-encoded JSON document" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 198 - content.json: "validation of binary-encoded media type documents with schema" - "another valid base64-encoded JSON document" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 199 - content.json: "validation of binary-encoded media type documents with schema" - "an invalid base64-encoded JSON document; validates true" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 200 - content.json: "validation of binary-encoded media type documents with schema" - "an empty object as a base64-encoded JSON document; validates true" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 201 - content.json: "validation of binary-encoded media type documents with schema" - "an empty array as a base64-encoded JSON document" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 202 - content.json: "validation of binary-encoded media type documents with schema" - "a validly-encoded invalid JSON document; validates true" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 203 - content.json: "validation of binary-encoded media type documents with schema" - "an invalid base64 string that is valid JSON; validates true" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 204 - content.json: "validation of binary-encoded media type documents with schema" - "ignores non-strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 205 - default.json: "invalid type for default" - "valid when property is specified" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 206 - default.json: "invalid type for default" - "still valid when the invalid default is used" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 207 - default.json: "invalid string value for default" - "valid when property is specified" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 208 - default.json: "invalid string value for default" - "still valid when the invalid default is used" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 209 - default.json: "the default keyword does not do anything if the property is missing" - "an explicit property value is checked against maximum (passing)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 210 - default.json: "the default keyword does not do anything if the property is missing" - "an explicit property value is checked against maximum (failing)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 3",
    #       "instanceLocation": "/alpha",
    #       "keywordLocation": "/properties/alpha/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 3",
    #       "instanceLocation": "/alpha",
    #       "keywordLocation": "/properties/alpha/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 211 - default.json: "the default keyword does not do anything if the property is missing" - "missing properties are not filled in with the default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 212 - defs.json: "validate definition against metaschema" - "valid definition schema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 213 - defs.json: "validate definition against metaschema" - "invalid definition schema" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/$defs/simpleTypes/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "/$defs/foo/type",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/2/$ref/properties/type/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/properties/type/anyOf/1/type",
    #       "error": "got integer, not array",
    #       "instanceLocation": "/$defs/foo/type",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/2/$ref/properties/type/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/properties/type/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/$defs/foo/type",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/2/$ref/properties/type/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/$defs/foo",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/2/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf",
    #       "error": "subschema 2 is not valid",
    #       "instanceLocation": "/$defs/foo",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/$defs",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/$defs/simpleTypes/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "/$defs/foo/type",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/2/$ref/properties/type/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/properties/type/anyOf/1/type",
    #       "error": "got integer, not array",
    #       "instanceLocation": "/$defs/foo/type",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/2/$ref/properties/type/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/properties/type/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/$defs/foo/type",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/2/$ref/properties/type/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/$defs/foo",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf/2/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf",
    #       "error": "subschema 2 is not valid",
    #       "instanceLocation": "/$defs/foo",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$recursiveRef/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties/$defs/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/$defs",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/core#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 214 - dependentRequired.json: "single dependency" - "neither" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 215 - dependentRequired.json: "single dependency" - "nondependant" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 216 - dependentRequired.json: "single dependency" - "with dependency" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 217 - dependentRequired.json: "single dependency" - "missing dependency" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 218 - dependentRequired.json: "single dependency" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 219 - dependentRequired.json: "single dependency" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 220 - dependentRequired.json: "single dependency" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 221 - dependentRequired.json: "empty dependents" - "empty object" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 222 - dependentRequired.json: "empty dependents" - "object with one property" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 223 - dependentRequired.json: "empty dependents" - "non-object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 224 - dependentRequired.json: "multiple dependents required" - "neither" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 225 - dependentRequired.json: "multiple dependents required" - "nondependants" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 226 - dependentRequired.json: "multiple dependents required" - "with dependencies" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 227 - dependentRequired.json: "multiple dependents required" - "missing dependency" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 228 - dependentRequired.json: "multiple dependents required" - "missing other dependency" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 229 - dependentRequired.json: "multiple dependents required" - "missing both dependencies" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: foo, bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: foo, bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 230 - dependentRequired.json: "dependencies with escaped characters" - "CRLF" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 231 - dependentRequired.json: "dependencies with escaped characters" - "quoted quotes" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 232 - dependentRequired.json: "dependencies with escaped characters" - "CRLF missing dependent" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo\rbar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/foo\nbar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo\rbar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/foo\nbar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 233 - dependentRequired.json: "dependencies with escaped characters" - "quoted quotes missing dependent" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo'bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/foo\"bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo'bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/foo\"bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 234 - dependentSchemas.json: "single dependency" - "valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 235 - dependentSchemas.json: "single dependency" - "no dependency" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 236 - dependentSchemas.json: "single dependency" - "wrong type" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependentSchemas/bar/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependentSchemas/bar/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 237 - dependentSchemas.json: "single dependency" - "wrong type other" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/dependentSchemas/bar/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/dependentSchemas/bar/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 238 - dependentSchemas.json: "single dependency" - "wrong type both" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/dependentSchemas/bar/properties/bar/type"
    #     },
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependentSchemas/bar/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/dependentSchemas/bar/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 239 - dependentSchemas.json: "single dependency" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 240 - dependentSchemas.json: "single dependency" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 241 - dependentSchemas.json: "single dependency" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 242 - dependentSchemas.json: "boolean subschemas" - "object with property having schema true is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 243 - dependentSchemas.json: "boolean subschemas" - "object with property having schema false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 244 - dependentSchemas.json: "boolean subschemas" - "object with both properties is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 245 - dependentSchemas.json: "boolean subschemas" - "empty object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 246 - dependentSchemas.json: "dependencies with escaped characters" - "quoted tab" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 247 - dependentSchemas.json: "dependencies with escaped characters" - "quoted quote" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo\"bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/foo'bar/required"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo\"bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/foo'bar/required"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 248 - dependentSchemas.json: "dependencies with escaped characters" - "quoted tab invalid under dependent schema" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 4 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/foo\tbar/minProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 4 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/foo\tbar/minProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 249 - dependentSchemas.json: "dependencies with escaped characters" - "quoted quote invalid under dependent schema" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo\"bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/foo'bar/required"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo\"bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/foo'bar/required"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 250 - dependentSchemas.json: "dependent subschema incompatible with root" - "matches root" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependentSchemas/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependentSchemas/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 251 - dependentSchemas.json: "dependent subschema incompatible with root" - "matches dependency" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 252 - dependentSchemas.json: "dependent subschema incompatible with root" - "matches both" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependentSchemas/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependentSchemas/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 253 - dependentSchemas.json: "dependent subschema incompatible with root" - "no dependency" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 254 - enum.json: "simple enum validation" - "one of the enum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 255 - enum.json: "simple enum validation" - "something else is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 256 - enum.json: "heterogeneous enum validation" - "one of the enum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 257 - enum.json: "heterogeneous enum validation" - "something else is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 258 - enum.json: "heterogeneous enum validation" - "objects are deep compared" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '': wrong type: object vs integer; from enum 1 at '': wrong type: object vs string; from enum 2 at '': wrong type: object vs array; from enum 3 at '': wrong type: object vs boolean; from enum 4 at '/foo': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '': wrong type: object vs integer; from enum 1 at '': wrong type: object vs string; from enum 2 at '': wrong type: object vs array; from enum 3 at '': wrong type: object vs boolean; from enum 4 at '/foo': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 259 - enum.json: "heterogeneous enum validation" - "valid object matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 260 - enum.json: "heterogeneous enum validation" - "extra properties in object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 261 - enum.json: "heterogeneous enum-with-null validation" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 262 - enum.json: "heterogeneous enum-with-null validation" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 263 - enum.json: "heterogeneous enum-with-null validation" - "something else is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 264 - enum.json: "enums in properties" - "both properties are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 265 - enum.json: "enums in properties" - "wrong foo value" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 266 - enum.json: "enums in properties" - "wrong bar value" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 267 - enum.json: "enums in properties" - "missing optional property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 268 - enum.json: "enums in properties" - "missing required property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 269 - enum.json: "enums in properties" - "missing all properties is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 270 - enum.json: "enum with escaped characters" - "member 1 is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 271 - enum.json: "enum with escaped characters" - "member 2 is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 272 - enum.json: "enum with escaped characters" - "another string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 273 - enum.json: "enum with false does not match 0" - "false is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 274 - enum.json: "enum with false does not match 0" - "integer zero is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 275 - enum.json: "enum with false does not match 0" - "float zero is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 276 - enum.json: "enum with [false] does not match [0]" - "[false] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 277 - enum.json: "enum with [false] does not match [0]" - "[0] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 278 - enum.json: "enum with [false] does not match [0]" - "[0.0] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 279 - enum.json: "enum with true does not match 1" - "true is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 280 - enum.json: "enum with true does not match 1" - "integer one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 281 - enum.json: "enum with true does not match 1" - "float one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 282 - enum.json: "enum with [true] does not match [1]" - "[true] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 283 - enum.json: "enum with [true] does not match [1]" - "[1] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 284 - enum.json: "enum with [true] does not match [1]" - "[1.0] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 285 - enum.json: "enum with 0 does not match false" - "false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 286 - enum.json: "enum with 0 does not match false" - "integer zero is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 287 - enum.json: "enum with 0 does not match false" - "float zero is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 288 - enum.json: "enum with [0] does not match [false]" - "[false] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 289 - enum.json: "enum with [0] does not match [false]" - "[0] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 290 - enum.json: "enum with [0] does not match [false]" - "[0.0] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 291 - enum.json: "enum with 1 does not match true" - "true is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 292 - enum.json: "enum with 1 does not match true" - "integer one is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 293 - enum.json: "enum with 1 does not match true" - "float one is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 294 - enum.json: "enum with [1] does not match [true]" - "[true] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 295 - enum.json: "enum with [1] does not match [true]" - "[1] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 296 - enum.json: "enum with [1] does not match [true]" - "[1.0] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 297 - enum.json: "nul characters in strings" - "match string with nul" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 298 - enum.json: "nul characters in strings" - "do not match string lacking nul" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 299 - exclusiveMaximum.json: "exclusiveMaximum validation" - "below the exclusiveMaximum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 300 - exclusiveMaximum.json: "exclusiveMaximum validation" - "boundary point is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 301 - exclusiveMaximum.json: "exclusiveMaximum validation" - "above the exclusiveMaximum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 302 - exclusiveMaximum.json: "exclusiveMaximum validation" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 303 - exclusiveMinimum.json: "exclusiveMinimum validation" - "above the exclusiveMinimum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 304 - exclusiveMinimum.json: "exclusiveMinimum validation" - "boundary point is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 305 - exclusiveMinimum.json: "exclusiveMinimum validation" - "below the exclusiveMinimum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 306 - exclusiveMinimum.json: "exclusiveMinimum validation" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 307 - format.json: "email format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 308 - format.json: "email format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 309 - format.json: "email format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 310 - format.json: "email format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 311 - format.json: "email format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 312 - format.json: "email format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 313 - format.json: "idn-email format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 314 - format.json: "idn-email format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 315 - format.json: "idn-email format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 316 - format.json: "idn-email format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 317 - format.json: "idn-email format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 318 - format.json: "idn-email format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 319 - format.json: "regex format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 320 - format.json: "regex format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 321 - format.json: "regex format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 322 - format.json: "regex format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 323 - format.json: "regex format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 324 - format.json: "regex format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 325 - format.json: "ipv4 format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 326 - format.json: "ipv4 format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 327 - format.json: "ipv4 format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 328 - format.json: "ipv4 format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 329 - format.json: "ipv4 format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 330 - format.json: "ipv4 format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 331 - format.json: "ipv6 format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 332 - format.json: "ipv6 format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 333 - format.json: "ipv6 format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 334 - format.json: "ipv6 format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 335 - format.json: "ipv6 format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 336 - format.json: "ipv6 format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 337 - format.json: "idn-hostname format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 338 - format.json: "idn-hostname format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 339 - format.json: "idn-hostname format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 340 - format.json: "idn-hostname format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 341 - format.json: "idn-hostname format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 342 - format.json: "idn-hostname format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 343 - format.json: "hostname format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 344 - format.json: "hostname format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 345 - format.json: "hostname format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 346 - format.json: "hostname format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 347 - format.json: "hostname format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 348 - format.json: "hostname format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 349 - format.json: "date format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 350 - format.json: "date format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 351 - format.json: "date format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 352 - format.json: "date format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 353 - format.json: "date format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 354 - format.json: "date format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 355 - format.json: "date-time format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 356 - format.json: "date-time format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 357 - format.json: "date-time format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 358 - format.json: "date-time format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 359 - format.json: "date-time format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 360 - format.json: "date-time format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 361 - format.json: "time format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 362 - format.json: "time format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 363 - format.json: "time format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 364 - format.json: "time format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 365 - format.json: "time format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 366 - format.json: "time format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 367 - format.json: "json-pointer format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 368 - format.json: "json-pointer format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 369 - format.json: "json-pointer format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 370 - format.json: "json-pointer format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 371 - format.json: "json-pointer format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 372 - format.json: "json-pointer format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 373 - format.json: "relative-json-pointer format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 374 - format.json: "relative-json-pointer format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 375 - format.json: "relative-json-pointer format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 376 - format.json: "relative-json-pointer format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 377 - format.json: "relative-json-pointer format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 378 - format.json: "relative-json-pointer format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 379 - format.json: "iri format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 380 - format.json: "iri format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 381 - format.json: "iri format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 382 - format.json: "iri format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 383 - format.json: "iri format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 384 - format.json: "iri format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 385 - format.json: "iri-reference format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 386 - format.json: "iri-reference format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 387 - format.json: "iri-reference format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 388 - format.json: "iri-reference format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 389 - format.json: "iri-reference format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 390 - format.json: "iri-reference format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 391 - format.json: "uri format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 392 - format.json: "uri format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 393 - format.json: "uri format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 394 - format.json: "uri format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 395 - format.json: "uri format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 396 - format.json: "uri format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 397 - format.json: "uri-reference format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 398 - format.json: "uri-reference format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 399 - format.json: "uri-reference format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 400 - format.json: "uri-reference format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 401 - format.json: "uri-reference format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 402 - format.json: "uri-reference format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 403 - format.json: "uri-template format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 404 - format.json: "uri-template format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 405 - format.json: "uri-template format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 406 - format.json: "uri-template format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 407 - format.json: "uri-template format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 408 - format.json: "uri-template format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 409 - format.json: "uuid format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 410 - format.json: "uuid format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 411 - format.json: "uuid format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 412 - format.json: "uuid format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 413 - format.json: "uuid format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 414 - format.json: "uuid format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 415 - format.json: "duration format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 416 - format.json: "duration format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 417 - format.json: "duration format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 418 - format.json: "duration format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 419 - format.json: "duration format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 420 - format.json: "duration format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 421 - if-then-else.json: "ignore if without then or else" - "valid when valid against lone if" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 422 - if-then-else.json: "ignore if without then or else" - "valid when invalid against lone if" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 423 - if-then-else.json: "ignore then without if" - "valid when valid against lone then" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 424 - if-then-else.json: "ignore then without if" - "valid when invalid against lone then" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 425 - if-then-else.json: "ignore else without if" - "valid when valid against lone else" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 426 - if-then-else.json: "ignore else without if" - "valid when invalid against lone else" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 427 - if-then-else.json: "if and then without else" - "valid through then" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 428 - if-then-else.json: "if and then without else" - "invalid through then" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/minimum"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/minimum"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 429 - if-then-else.json: "if and then without else" - "valid when if test fails" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 430 - if-then-else.json: "if and else without then" - "valid when if test passes" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 431 - if-then-else.json: "if and else without then" - "valid through else" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 432 - if-then-else.json: "if and else without then" - "invalid through else" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 433 - if-then-else.json: "validate against correct branch, then vs else" - "valid through then" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 434 - if-then-else.json: "validate against correct branch, then vs else" - "invalid through then" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/minimum"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/minimum"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 435 - if-then-else.json: "validate against correct branch, then vs else" - "valid through else" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 436 - if-then-else.json: "validate against correct branch, then vs else" - "invalid through else" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 437 - if-then-else.json: "non-interference across combined schemas" - "valid, but would have been invalid through then" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 438 - if-then-else.json: "non-interference across combined schemas" - "valid, but would have been invalid through else" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 439 - if-then-else.json: "if with boolean schema true" - "boolean schema true in if always chooses the then path (valid)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 440 - if-then-else.json: "if with boolean schema true" - "boolean schema true in if always chooses the then path (invalid)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 441 - if-then-else.json: "if with boolean schema false" - "boolean schema false in if always chooses the else path (invalid)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 442 - if-then-else.json: "if with boolean schema false" - "boolean schema false in if always chooses the else path (valid)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 443 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "yes redirects to then and passes" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 444 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "other redirects to else and passes" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 445 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "no redirects to then and fails" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 446 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "invalid redirects to else and fails" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 447 - infinite-loop-detection.json: "evaluating the same schema location against the same data location twice is not a sign of an infinite loop" - "passing case" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 448 - infinite-loop-detection.json: "evaluating the same schema location against the same data location twice is not a sign of an infinite loop" - "failing case" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/int/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/0/properties/foo/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/int/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/1/additionalProperties/$ref/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/additionalProperties"
    #     },
    #     {
    #       "error": "subschemas 0, 1 are not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/int/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/0/properties/foo/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/properties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 449 - items.json: "a schema given for items" - "valid items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 450 - items.json: "a schema given for items" - "wrong type of items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 451 - items.json: "a schema given for items" - "ignores non-arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 452 - items.json: "a schema given for items" - "JavaScript pseudo-array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 453 - items.json: "an array of schemas for items" - "correct types" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 454 - items.json: "an array of schemas for items" - "wrong types" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/type"
    #     },
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/1/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 455 - items.json: "an array of schemas for items" - "incomplete array of items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 456 - items.json: "an array of schemas for items" - "array with additional items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 457 - items.json: "an array of schemas for items" - "empty array" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 458 - items.json: "an array of schemas for items" - "JavaScript pseudo-array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 459 - items.json: "items with boolean schema (true)" - "any array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 460 - items.json: "items with boolean schema (true)" - "empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 461 - items.json: "items with boolean schema (false)" - "any non-empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 462 - items.json: "items with boolean schema (false)" - "empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 463 - items.json: "items with boolean schemas" - "array with one item is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 464 - items.json: "items with boolean schemas" - "array with two items is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/1"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/1"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 465 - items.json: "items with boolean schemas" - "empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 466 - items.json: "items and subitems" - "valid items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 467 - items.json: "items and subitems" - "too many items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 468 - items.json: "items and subitems" - "too many sub-items" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/item/additionalItems",
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0/2",
    #       "keywordLocation": "/items/0/$ref/additionalItems"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/item/additionalItems",
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/$ref/additionalItems"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/item/additionalItems",
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0/2",
    #       "keywordLocation": "/items/0/$ref/additionalItems"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/item/additionalItems",
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/$ref/additionalItems"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 469 - items.json: "items and subitems" - "wrong item" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/item/type",
    #       "error": "got object, not array",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/$ref/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/item/type",
    #       "error": "got object, not array",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/$ref/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 470 - items.json: "items and subitems" - "wrong sub-item" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/sub-item/required",
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/0/$ref/items/0/$ref/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/item/items",
    #       "error": "not all items are valid",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/$ref/items"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/sub-item/required",
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/0/$ref/items/0/$ref/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/item/items",
    #       "error": "not all items are valid",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/$ref/items"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 471 - items.json: "items and subitems" - "fewer items is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 472 - items.json: "nested items" - "valid nested array" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 473 - items.json: "nested items" - "nested array with invalid type" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/0/0/0/0",
    #       "keywordLocation": "/items/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0/0",
    #       "keywordLocation": "/items/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/0/0/0/0",
    #       "keywordLocation": "/items/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0/0",
    #       "keywordLocation": "/items/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 474 - items.json: "nested items" - "not deep enough" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/0/0/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/0/1/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/1",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/0/2/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/2",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/1/0/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/1/0",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/1/1/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/1/1",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/1/2/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/1/2",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/0/0/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 475 - items.json: "single-form items with null instance elements" - "allows null elements" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 476 - items.json: "array-form items with null instance elements" - "allows null elements" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 477 - maxContains.json: "maxContains without contains is ignored" - "one item valid against lone maxContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 478 - maxContains.json: "maxContains without contains is ignored" - "two items still valid against lone maxContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 479 - maxContains.json: "maxContains with contains" - "empty data" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 480 - maxContains.json: "maxContains with contains" - "all elements match, valid maxContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 481 - maxContains.json: "maxContains with contains" - "all elements match, invalid maxContains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 482 - maxContains.json: "maxContains with contains" - "some elements match, valid maxContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 483 - maxContains.json: "maxContains with contains" - "some elements match, invalid maxContains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 484 - maxContains.json: "maxContains with contains, value with a decimal" - "one element matches, valid maxContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 485 - maxContains.json: "maxContains with contains, value with a decimal" - "too many elements match, invalid maxContains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 486 - maxContains.json: "minContains < maxContains" - "actual < minContains < maxContains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     },
    #     {
    #       "error": "array contains fewer than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 487 - maxContains.json: "minContains < maxContains" - "minContains < actual < maxContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 488 - maxContains.json: "minContains < maxContains" - "minContains < maxContains < actual" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 3 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 3 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 489 - maxItems.json: "maxItems validation" - "shorter is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 490 - maxItems.json: "maxItems validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 491 - maxItems.json: "maxItems validation" - "too long is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 492 - maxItems.json: "maxItems validation" - "ignores non-arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 493 - maxItems.json: "maxItems validation with a decimal" - "shorter is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 494 - maxItems.json: "maxItems validation with a decimal" - "too long is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 495 - maxLength.json: "maxLength validation" - "shorter is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 496 - maxLength.json: "maxLength validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 497 - maxLength.json: "maxLength validation" - "too long is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 498 - maxLength.json: "maxLength validation" - "ignores non-strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 499 - maxLength.json: "maxLength validation" - "two graphemes is long enough" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 500 - maxLength.json: "maxLength validation with a decimal" - "shorter is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 501 - maxLength.json: "maxLength validation with a decimal" - "too long is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 502 - maxProperties.json: "maxProperties validation" - "shorter is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 503 - maxProperties.json: "maxProperties validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 504 - maxProperties.json: "maxProperties validation" - "too long is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 2 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 2 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 505 - maxProperties.json: "maxProperties validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 506 - maxProperties.json: "maxProperties validation" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 507 - maxProperties.json: "maxProperties validation" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 508 - maxProperties.json: "maxProperties validation with a decimal" - "shorter is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 509 - maxProperties.json: "maxProperties validation with a decimal" - "too long is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 2 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 2 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 510 - maxProperties.json: "maxProperties = 0 means the object is empty" - "no properties is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 511 - maxProperties.json: "maxProperties = 0 means the object is empty" - "one property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 0 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 0 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 512 - maximum.json: "maximum validation" - "below the maximum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 513 - maximum.json: "maximum validation" - "boundary point is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 514 - maximum.json: "maximum validation" - "above the maximum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 515 - maximum.json: "maximum validation" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 516 - maximum.json: "maximum validation with unsigned integer" - "below the maximum is invalid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 517 - maximum.json: "maximum validation with unsigned integer" - "boundary point integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 518 - maximum.json: "maximum validation with unsigned integer" - "boundary point float is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 519 - maximum.json: "maximum validation with unsigned integer" - "above the maximum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 300",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 300",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 520 - minContains.json: "minContains without contains is ignored" - "one item valid against lone minContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 521 - minContains.json: "minContains without contains is ignored" - "zero items still valid against lone minContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 522 - minContains.json: "minContains=1 with contains" - "empty data" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     },
    #     {
    #       "error": "array contains fewer than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 523 - minContains.json: "minContains=1 with contains" - "no elements match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     },
    #     {
    #       "error": "array contains fewer than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 524 - minContains.json: "minContains=1 with contains" - "single element matches, valid minContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 525 - minContains.json: "minContains=1 with contains" - "some elements match, valid minContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 526 - minContains.json: "minContains=1 with contains" - "all elements match, valid minContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 527 - minContains.json: "minContains=2 with contains" - "empty data" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     },
    #     {
    #       "error": "array contains fewer than 2 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 528 - minContains.json: "minContains=2 with contains" - "all elements match, invalid minContains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array contains fewer than 2 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array contains fewer than 2 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 529 - minContains.json: "minContains=2 with contains" - "some elements match, invalid minContains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array contains fewer than 2 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array contains fewer than 2 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 530 - minContains.json: "minContains=2 with contains" - "all elements match, valid minContains (exactly as needed)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 531 - minContains.json: "minContains=2 with contains" - "all elements match, valid minContains (more than needed)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 532 - minContains.json: "minContains=2 with contains" - "some elements match, valid minContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 533 - minContains.json: "minContains=2 with contains with a decimal value" - "one element matches, invalid minContains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array contains fewer than 2 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array contains fewer than 2 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 534 - minContains.json: "minContains=2 with contains with a decimal value" - "both elements match, valid minContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 535 - minContains.json: "maxContains = minContains" - "empty data" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     },
    #     {
    #       "error": "array contains fewer than 2 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 536 - minContains.json: "maxContains = minContains" - "all elements match, invalid minContains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array contains fewer than 2 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array contains fewer than 2 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 537 - minContains.json: "maxContains = minContains" - "all elements match, invalid maxContains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 2 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 2 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 538 - minContains.json: "maxContains = minContains" - "all elements match, valid maxContains and minContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 539 - minContains.json: "maxContains < minContains" - "empty data" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     },
    #     {
    #       "error": "array contains fewer than 3 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 540 - minContains.json: "maxContains < minContains" - "invalid minContains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array contains fewer than 3 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array contains fewer than 3 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 541 - minContains.json: "maxContains < minContains" - "invalid maxContains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 542 - minContains.json: "maxContains < minContains" - "invalid maxContains and minContains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     },
    #     {
    #       "error": "array contains fewer than 3 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 543 - minContains.json: "minContains = 0 with no maxContains" - "empty data" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 544 - minContains.json: "minContains = 0 with no maxContains" - "minContains = 0 makes contains always pass" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 545 - minContains.json: "minContains = 0 with maxContains" - "empty data" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 546 - minContains.json: "minContains = 0 with maxContains" - "not more than maxContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 547 - minContains.json: "minContains = 0 with maxContains" - "too many" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 548 - minItems.json: "minItems validation" - "longer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 549 - minItems.json: "minItems validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 550 - minItems.json: "minItems validation" - "too short is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 551 - minItems.json: "minItems validation" - "ignores non-arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 552 - minItems.json: "minItems validation with a decimal" - "longer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 553 - minItems.json: "minItems validation with a decimal" - "too short is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 554 - minLength.json: "minLength validation" - "longer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 555 - minLength.json: "minLength validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 556 - minLength.json: "minLength validation" - "too short is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 557 - minLength.json: "minLength validation" - "ignores non-strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 558 - minLength.json: "minLength validation" - "one grapheme is not long enough" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 559 - minLength.json: "minLength validation with a decimal" - "longer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 560 - minLength.json: "minLength validation with a decimal" - "too short is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 561 - minProperties.json: "minProperties validation" - "longer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 562 - minProperties.json: "minProperties validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 563 - minProperties.json: "minProperties validation" - "too short is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 564 - minProperties.json: "minProperties validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 565 - minProperties.json: "minProperties validation" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 566 - minProperties.json: "minProperties validation" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 567 - minProperties.json: "minProperties validation with a decimal" - "longer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 568 - minProperties.json: "minProperties validation with a decimal" - "too short is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 569 - minimum.json: "minimum validation" - "above the minimum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 570 - minimum.json: "minimum validation" - "boundary point is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 571 - minimum.json: "minimum validation" - "below the minimum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 572 - minimum.json: "minimum validation" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 573 - minimum.json: "minimum validation with signed integer" - "negative above the minimum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 574 - minimum.json: "minimum validation with signed integer" - "positive above the minimum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 575 - minimum.json: "minimum validation with signed integer" - "boundary point is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 576 - minimum.json: "minimum validation with signed integer" - "boundary point with float is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 577 - minimum.json: "minimum validation with signed integer" - "float below the minimum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 578 - minimum.json: "minimum validation with signed integer" - "int below the minimum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 579 - minimum.json: "minimum validation with signed integer" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 580 - multipleOf.json: "by int" - "int by int" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 581 - multipleOf.json: "by int" - "int by int fail" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 582 - multipleOf.json: "by int" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 583 - multipleOf.json: "by number" - "zero is multiple of anything" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 584 - multipleOf.json: "by number" - "4.5 is multiple of 1.5" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 585 - multipleOf.json: "by number" - "35 is not multiple of 1.5" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 1.5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 1.5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 586 - multipleOf.json: "by small number" - "0.0075 is multiple of 0.0001" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 587 - multipleOf.json: "by small number" - "0.00751 is not multiple of 0.0001" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 0.0001",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 0.0001",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 588 - multipleOf.json: "float division = inf" - "always invalid, but naive implementations may raise an overflow error" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 0.123456789",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 0.123456789",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 589 - multipleOf.json: "small multiple of large integer" - "any integer is a multiple of 1e-8" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 590 - not.json: "not" - "allowed" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 591 - not.json: "not" - "disallowed" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 592 - not.json: "not multiple types" - "valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 593 - not.json: "not multiple types" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 594 - not.json: "not multiple types" - "other mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 595 - not.json: "not more complex schema" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 596 - not.json: "not more complex schema" - "other match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 597 - not.json: "not more complex schema" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 598 - not.json: "forbidden property" - "property present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/not"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/not"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 599 - not.json: "forbidden property" - "property absent" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 600 - not.json: "forbid everything with empty schema" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 601 - not.json: "forbid everything with empty schema" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 602 - not.json: "forbid everything with empty schema" - "boolean true is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 603 - not.json: "forbid everything with empty schema" - "boolean false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 604 - not.json: "forbid everything with empty schema" - "null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 605 - not.json: "forbid everything with empty schema" - "object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 606 - not.json: "forbid everything with empty schema" - "empty object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 607 - not.json: "forbid everything with empty schema" - "array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 608 - not.json: "forbid everything with empty schema" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 609 - not.json: "forbid everything with boolean schema true" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 610 - not.json: "forbid everything with boolean schema true" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 611 - not.json: "forbid everything with boolean schema true" - "boolean true is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 612 - not.json: "forbid everything with boolean schema true" - "boolean false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 613 - not.json: "forbid everything with boolean schema true" - "null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 614 - not.json: "forbid everything with boolean schema true" - "object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 615 - not.json: "forbid everything with boolean schema true" - "empty object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 616 - not.json: "forbid everything with boolean schema true" - "array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 617 - not.json: "forbid everything with boolean schema true" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 618 - not.json: "allow everything with boolean schema false" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 619 - not.json: "allow everything with boolean schema false" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 620 - not.json: "allow everything with boolean schema false" - "boolean true is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 621 - not.json: "allow everything with boolean schema false" - "boolean false is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 622 - not.json: "allow everything with boolean schema false" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 623 - not.json: "allow everything with boolean schema false" - "object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 624 - not.json: "allow everything with boolean schema false" - "empty object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 625 - not.json: "allow everything with boolean schema false" - "array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 626 - not.json: "allow everything with boolean schema false" - "empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 627 - not.json: "double negation" - "any value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 628 - not.json: "collect annotations inside a 'not', even if collection is disabled" - "unevaluated property" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 629 - not.json: "collect annotations inside a 'not', even if collection is disabled" - "annotations are still collected inside a 'not'" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 630 - oneOf.json: "oneOf" - "first oneOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 631 - oneOf.json: "oneOf" - "second oneOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 632 - oneOf.json: "oneOf" - "both oneOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 633 - oneOf.json: "oneOf" - "neither oneOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/type"
    #     },
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/minimum"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/type"
    #     },
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/minimum"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 634 - oneOf.json: "oneOf with base schema" - "mismatch base schema" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     },
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 635 - oneOf.json: "oneOf with base schema" - "one oneOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 636 - oneOf.json: "oneOf with base schema" - "both oneOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 637 - oneOf.json: "oneOf with boolean schemas, all true" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1, 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 638 - oneOf.json: "oneOf with boolean schemas, one true" - "any value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 639 - oneOf.json: "oneOf with boolean schemas, more than one true" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 640 - oneOf.json: "oneOf with boolean schemas, all false" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/2"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/2"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 641 - oneOf.json: "oneOf complex types" - "first oneOf valid (complex)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 642 - oneOf.json: "oneOf complex types" - "second oneOf valid (complex)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 643 - oneOf.json: "oneOf complex types" - "both oneOf valid (complex)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 644 - oneOf.json: "oneOf complex types" - "neither oneOf valid (complex)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/oneOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/properties"
    #     },
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/oneOf/1/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/properties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/oneOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/properties"
    #     },
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/oneOf/1/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/properties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 645 - oneOf.json: "oneOf with empty schema" - "one valid - valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 646 - oneOf.json: "oneOf with empty schema" - "both valid - invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 647 - oneOf.json: "oneOf with required" - "both invalid - invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/required"
    #     },
    #     {
    #       "error": "object is missing properties: foo, baz",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/required"
    #     },
    #     {
    #       "error": "object is missing properties: foo, baz",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 648 - oneOf.json: "oneOf with required" - "first valid - valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 649 - oneOf.json: "oneOf with required" - "second valid - valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 650 - oneOf.json: "oneOf with required" - "both valid - invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 651 - oneOf.json: "oneOf with missing optional property" - "first oneOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 652 - oneOf.json: "oneOf with missing optional property" - "second oneOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 653 - oneOf.json: "oneOf with missing optional property" - "both oneOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 654 - oneOf.json: "oneOf with missing optional property" - "neither oneOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/required"
    #     },
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/required"
    #     },
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 655 - oneOf.json: "nested oneOf, to check validation semantics" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 656 - oneOf.json: "nested oneOf, to check validation semantics" - "anything non-null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/oneOf/0/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/oneOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/oneOf/0/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/oneOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 657 - pattern.json: "pattern validation" - "a matching pattern is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 658 - pattern.json: "pattern validation" - "a non-matching pattern is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 659 - pattern.json: "pattern validation" - "ignores booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 660 - pattern.json: "pattern validation" - "ignores integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 661 - pattern.json: "pattern validation" - "ignores floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 662 - pattern.json: "pattern validation" - "ignores objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 663 - pattern.json: "pattern validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 664 - pattern.json: "pattern validation" - "ignores null" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 665 - pattern.json: "pattern is not anchored" - "matches a substring" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 666 - patternProperties.json: "patternProperties validates properties matching a regex" - "a single valid match is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 667 - patternProperties.json: "patternProperties validates properties matching a regex" - "multiple valid matches is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 668 - patternProperties.json: "patternProperties validates properties matching a regex" - "a single invalid match is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.*o/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.*o/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 669 - patternProperties.json: "patternProperties validates properties matching a regex" - "multiple invalid matches is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.*o/type"
    #     },
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foooooo",
    #       "keywordLocation": "/patternProperties/f.*o/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.*o/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 670 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 671 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 672 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 673 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "a single valid match is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 674 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "a simultaneous match is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 675 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "multiple matches is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 676 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/a",
    #       "keywordLocation": "/patternProperties/a*/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/a",
    #       "keywordLocation": "/patternProperties/a*/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 677 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to the other is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 20",
    #       "instanceLocation": "/aaaa",
    #       "keywordLocation": "/patternProperties/aaa*/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 20",
    #       "instanceLocation": "/aaaa",
    #       "keywordLocation": "/patternProperties/aaa*/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 678 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to both is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/aaa",
    #       "keywordLocation": "/patternProperties/a*/type"
    #     },
    #     {
    #       "error": "value is greater than 20",
    #       "instanceLocation": "/aaaa",
    #       "keywordLocation": "/patternProperties/aaa*/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/aaa",
    #       "keywordLocation": "/patternProperties/a*/type"
    #     },
    #     {
    #       "error": "value is greater than 20",
    #       "instanceLocation": "/aaaa",
    #       "keywordLocation": "/patternProperties/aaa*/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 679 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "non recognized members are ignored" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 680 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "recognized members are accounted for" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not boolean",
    #       "instanceLocation": "/a31b",
    #       "keywordLocation": "/patternProperties/[0-9]{2,}/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not boolean",
    #       "instanceLocation": "/a31b",
    #       "keywordLocation": "/patternProperties/[0-9]{2,}/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 681 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "regexes are case sensitive" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 682 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "regexes are case sensitive, 2" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/a_X_3",
    #       "keywordLocation": "/patternProperties/X_/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/a_X_3",
    #       "keywordLocation": "/patternProperties/X_/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 683 - patternProperties.json: "patternProperties with boolean schemas" - "object with property matching schema true is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 684 - patternProperties.json: "patternProperties with boolean schemas" - "object with property matching schema false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/patternProperties/b.*"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/patternProperties/b.*"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 685 - patternProperties.json: "patternProperties with boolean schemas" - "object with both properties is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/patternProperties/b.*"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/patternProperties/b.*"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 686 - patternProperties.json: "patternProperties with boolean schemas" - "object with a property matching both true and false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/foobar",
    #       "keywordLocation": "/patternProperties/b.*"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/foobar",
    #       "keywordLocation": "/patternProperties/b.*"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 687 - patternProperties.json: "patternProperties with boolean schemas" - "empty object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 688 - patternProperties.json: "patternProperties with null valued instance properties" - "allows null values" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 689 - properties.json: "object properties validation" - "both properties present and valid is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 690 - properties.json: "object properties validation" - "one property invalid is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 691 - properties.json: "object properties validation" - "both properties invalid is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/type"
    #     },
    #     {
    #       "error": "got array, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 692 - properties.json: "object properties validation" - "doesn't invalidate other properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 693 - properties.json: "object properties validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 694 - properties.json: "object properties validation" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 695 - properties.json: "properties, patternProperties, additionalProperties interaction" - "property validates property" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 696 - properties.json: "properties, patternProperties, additionalProperties interaction" - "property invalidates property" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 3 items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/maxItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 3 items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/maxItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 697 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty invalidates property" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.o/minItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.o/minItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 698 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty validates nonproperty" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 699 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty invalidates nonproperty" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "/fxo",
    #       "keywordLocation": "/patternProperties/f.o/minItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "/fxo",
    #       "keywordLocation": "/patternProperties/f.o/minItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 700 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty ignores property" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 701 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty validates others" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 702 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty invalidates others" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 703 - properties.json: "properties with boolean schema" - "no property present is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 704 - properties.json: "properties with boolean schema" - "only 'true' property present is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 705 - properties.json: "properties with boolean schema" - "only 'false' property present is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 706 - properties.json: "properties with boolean schema" - "both properties present is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 707 - properties.json: "properties with escaped characters" - "object with all numbers is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 708 - properties.json: "properties with escaped characters" - "object with strings is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\tbar",
    #       "keywordLocation": "/properties/foo\tbar/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\nbar",
    #       "keywordLocation": "/properties/foo\nbar/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\fbar",
    #       "keywordLocation": "/properties/foo\fbar/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\rbar",
    #       "keywordLocation": "/properties/foo\rbar/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\"bar",
    #       "keywordLocation": "/properties/foo\"bar/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\\bar",
    #       "keywordLocation": "/properties/foo\\bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\tbar",
    #       "keywordLocation": "/properties/foo\tbar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 709 - properties.json: "properties with null valued instance properties" - "allows null values" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 710 - properties.json: "properties whose names are Javascript object property names" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 711 - properties.json: "properties whose names are Javascript object property names" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 712 - properties.json: "properties whose names are Javascript object property names" - "none of the properties mentioned" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 713 - properties.json: "properties whose names are Javascript object property names" - "__proto__ not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/__proto__",
    #       "keywordLocation": "/properties/__proto__/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/__proto__",
    #       "keywordLocation": "/properties/__proto__/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 714 - properties.json: "properties whose names are Javascript object property names" - "toString not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/toString/length",
    #       "keywordLocation": "/properties/toString/properties/length/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/toString",
    #       "keywordLocation": "/properties/toString/properties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/toString/length",
    #       "keywordLocation": "/properties/toString/properties/length/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/toString",
    #       "keywordLocation": "/properties/toString/properties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 715 - properties.json: "properties whose names are Javascript object property names" - "constructor not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not number",
    #       "instanceLocation": "/constructor",
    #       "keywordLocation": "/properties/constructor/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not number",
    #       "instanceLocation": "/constructor",
    #       "keywordLocation": "/properties/constructor/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 716 - properties.json: "properties whose names are Javascript object property names" - "all present and valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 717 - propertyNames.json: "propertyNames validation" - "all property names valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 718 - propertyNames.json: "propertyNames validation" - "some property names invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 3",
    #       "instanceLocation": "/foobar",
    #       "keywordLocation": "/propertyNames/maxLength"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 3",
    #       "instanceLocation": "/foobar",
    #       "keywordLocation": "/propertyNames/maxLength"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 719 - propertyNames.json: "propertyNames validation" - "object without properties is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 720 - propertyNames.json: "propertyNames validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 721 - propertyNames.json: "propertyNames validation" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 722 - propertyNames.json: "propertyNames validation" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 723 - propertyNames.json: "propertyNames validation with pattern" - "matching property names valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 724 - propertyNames.json: "propertyNames validation with pattern" - "non-matching property name is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "/aaA",
    #       "keywordLocation": "/propertyNames/pattern"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "/aaA",
    #       "keywordLocation": "/propertyNames/pattern"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 725 - propertyNames.json: "propertyNames validation with pattern" - "object without properties is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 726 - propertyNames.json: "propertyNames with boolean schema true" - "object with any properties is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 727 - propertyNames.json: "propertyNames with boolean schema true" - "empty object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 728 - propertyNames.json: "propertyNames with boolean schema false" - "object with any properties is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 729 - propertyNames.json: "propertyNames with boolean schema false" - "empty object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 730 - recursiveRef.json: "$recursiveRef without $recursiveAnchor works like $ref" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 731 - recursiveRef.json: "$recursiveRef without $recursiveAnchor works like $ref" - "recursive match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 732 - recursiveRef.json: "$recursiveRef without $recursiveAnchor works like $ref" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 733 - recursiveRef.json: "$recursiveRef without $recursiveAnchor works like $ref" - "recursive mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/additionalProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/$recursiveRef/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$recursiveRef/additionalProperties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/additionalProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/$recursiveRef/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$recursiveRef/additionalProperties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 734 - recursiveRef.json: "$recursiveRef without using nesting" - "integer matches at the outer level" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 735 - recursiveRef.json: "$recursiveRef without using nesting" - "single level match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 736 - recursiveRef.json: "$recursiveRef without using nesting" - "integer does not match as a property value" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/schema.json#/anyOf/0/type",
    #       "error": "got object, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/type",
    #       "error": "got integer, not object",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/schema.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/schema.json#/anyOf/0/type",
    #       "error": "got object, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/type",
    #       "error": "got integer, not object",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/schema.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 737 - recursiveRef.json: "$recursiveRef without using nesting" - "two levels, properties match with inner definition" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 738 - recursiveRef.json: "$recursiveRef without using nesting" - "two levels, no match" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/schema.json#/anyOf/0/type",
    #       "error": "got object, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/type",
    #       "error": "got integer, not object",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/schema.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/schema.json#/anyOf/0/type",
    #       "error": "got object, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/0/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/type",
    #       "error": "got integer, not object",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef2/schema.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 739 - recursiveRef.json: "$recursiveRef with nesting" - "integer matches at the outer level" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 740 - recursiveRef.json: "$recursiveRef with nesting" - "single level match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 741 - recursiveRef.json: "$recursiveRef with nesting" - "integer now matches as a property value" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 742 - recursiveRef.json: "$recursiveRef with nesting" - "two levels, properties match with inner definition" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 743 - recursiveRef.json: "$recursiveRef with nesting" - "two levels, properties match with $recursiveRef" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 744 - recursiveRef.json: "$recursiveRef with $recursiveAnchor: false works like $ref" - "integer matches at the outer level" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 745 - recursiveRef.json: "$recursiveRef with $recursiveAnchor: false works like $ref" - "single level match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 746 - recursiveRef.json: "$recursiveRef with $recursiveAnchor: false works like $ref" - "integer does not match as a property value" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/schema.json#/anyOf/0/type",
    #       "error": "got object, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/type",
    #       "error": "got integer, not object",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/schema.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/schema.json#/anyOf/0/type",
    #       "error": "got object, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/type",
    #       "error": "got integer, not object",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/schema.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 747 - recursiveRef.json: "$recursiveRef with $recursiveAnchor: false works like $ref" - "two levels, properties match with inner definition" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 748 - recursiveRef.json: "$recursiveRef with $recursiveAnchor: false works like $ref" - "two levels, integer does not match as a property value" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/schema.json#/anyOf/0/type",
    #       "error": "got object, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/type",
    #       "error": "got integer, not object",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/schema.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/schema.json#/anyOf/0/type",
    #       "error": "got object, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/0/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/type",
    #       "error": "got integer, not object",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef4/schema.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 749 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor works like $ref" - "integer matches at the outer level" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 750 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor works like $ref" - "single level match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 751 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor works like $ref" - "integer does not match as a property value" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/schema.json#/anyOf/0/type",
    #       "error": "got object, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/type",
    #       "error": "got integer, not object",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/schema.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/schema.json#/anyOf/0/type",
    #       "error": "got object, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/type",
    #       "error": "got integer, not object",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/schema.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 752 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor works like $ref" - "two levels, properties match with inner definition" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 753 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor works like $ref" - "two levels, integer does not match as a property value" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/schema.json#/anyOf/0/type",
    #       "error": "got object, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/type",
    #       "error": "got integer, not object",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/schema.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/schema.json#/anyOf/0/type",
    #       "error": "got object, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/0/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/type",
    #       "error": "got integer, not object",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties/$recursiveRef/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties/$recursiveRef/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/myobject.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef5/schema.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 754 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor in the initial target schema resource" - "leaf node does not match; no recursion" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf/0/type",
    #       "error": "got object, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/0/type",
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/1/type",
    #       "error": "got boolean, not object",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf/0/type",
    #       "error": "got object, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/0/type",
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/1/type",
    #       "error": "got boolean, not object",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 755 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor in the initial target schema resource" - "leaf node matches: recursion uses the inner schema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 756 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor in the initial target schema resource" - "leaf node does not match: recursion uses the inner schema" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf/0/type",
    #       "error": "got object, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/0/type",
    #       "error": "got object, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/0/type",
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/1/type",
    #       "error": "got boolean, not object",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf/0/type",
    #       "error": "got object, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/0/type",
    #       "error": "got object, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/0/type",
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/1/type",
    #       "error": "got boolean, not object",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/inner.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef6/base.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 757 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor in the outer schema resource" - "leaf node does not match; no recursion" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf/0/type",
    #       "error": "got object, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/0/type",
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/1/type",
    #       "error": "got boolean, not object",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf/0/type",
    #       "error": "got object, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/0/type",
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/1/type",
    #       "error": "got boolean, not object",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 758 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor in the outer schema resource" - "leaf node matches: recursion only uses inner schema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 759 - recursiveRef.json: "$recursiveRef with no $recursiveAnchor in the outer schema resource" - "leaf node does not match: recursion only uses inner schema" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf/0/type",
    #       "error": "got object, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/0/type",
    #       "error": "got object, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/0/type",
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/1/type",
    #       "error": "got boolean, not object",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf/0/type",
    #       "error": "got object, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/0/type",
    #       "error": "got object, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/0/type",
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/1/type",
    #       "error": "got boolean, not object",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties/$recursiveRef/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/inner.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/additionalProperties/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf/1/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:4242/draft2019-09/recursiveRef7/base.json#/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 760 - recursiveRef.json: "multiple dynamic paths to the $recursiveRef keyword" - "recurse to anyLeafNode - floats are allowed" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 761 - recursiveRef.json: "multiple dynamic paths to the $recursiveRef keyword" - "recurse to integerNode - floats are not allowed" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://example.com/recursiveRef8_integerNode.json#/type",
    #       "error": "got number, not one of object, integer",
    #       "instanceLocation": "/november",
    #       "keywordLocation": "/else/$ref/additionalProperties/$recursiveRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://example.com/recursiveRef8_inner.json#/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://example.com/recursiveRef8_main.json#/else",
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://example.com/recursiveRef8_integerNode.json#/type",
    #       "error": "got number, not one of object, integer",
    #       "instanceLocation": "/november",
    #       "keywordLocation": "/else/$ref/additionalProperties/$recursiveRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://example.com/recursiveRef8_inner.json#/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://example.com/recursiveRef8_main.json#/else",
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 762 - recursiveRef.json: "dynamic $recursiveRef destination (not predictable at schema compile time)" - "numeric node" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 763 - recursiveRef.json: "dynamic $recursiveRef destination (not predictable at schema compile time)" - "integer node" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://example.com/integerNode.json#/type",
    #       "error": "got number, not one of object, integer",
    #       "instanceLocation": "/november",
    #       "keywordLocation": "/else/$ref/additionalProperties/$recursiveRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://example.com/inner.json#/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://example.com/main.json#/else",
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://example.com/integerNode.json#/type",
    #       "error": "got number, not one of object, integer",
    #       "instanceLocation": "/november",
    #       "keywordLocation": "/else/$ref/additionalProperties/$recursiveRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://example.com/inner.json#/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://example.com/main.json#/else",
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 764 - ref.json: "root pointer ref" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 765 - ref.json: "root pointer ref" - "recursive match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 766 - ref.json: "root pointer ref" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 767 - ref.json: "root pointer ref" - "recursive mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/additionalProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/$ref/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/additionalProperties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/additionalProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/$ref/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/additionalProperties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 768 - ref.json: "relative pointer ref to object" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 769 - ref.json: "relative pointer ref to object" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/properties/foo/type",
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/properties/foo/type",
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 770 - ref.json: "relative pointer ref to array" - "match array" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 771 - ref.json: "relative pointer ref to array" - "mismatch array" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/items/0/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/1/$ref/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/items/0/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/1/$ref/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 772 - ref.json: "escaped pointer ref" - "slash invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/slash~1field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/slash",
    #       "keywordLocation": "/properties/slash/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/slash~1field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/slash",
    #       "keywordLocation": "/properties/slash/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 773 - ref.json: "escaped pointer ref" - "tilde invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/tilde~0field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/tilde",
    #       "keywordLocation": "/properties/tilde/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/tilde~0field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/tilde",
    #       "keywordLocation": "/properties/tilde/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 774 - ref.json: "escaped pointer ref" - "percent invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/percent%25field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/percent",
    #       "keywordLocation": "/properties/percent/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/percent%25field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/percent",
    #       "keywordLocation": "/properties/percent/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 775 - ref.json: "escaped pointer ref" - "slash valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 776 - ref.json: "escaped pointer ref" - "tilde valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 777 - ref.json: "escaped pointer ref" - "percent valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 778 - ref.json: "nested refs" - "nested ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 779 - ref.json: "nested refs" - "nested ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/a/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/a/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 780 - ref.json: "ref applies alongside sibling keywords" - "ref valid, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 781 - ref.json: "ref applies alongside sibling keywords" - "ref valid, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 2 items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/maxItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 2 items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/maxItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 782 - ref.json: "ref applies alongside sibling keywords" - "ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/reffed/type",
    #       "error": "got string, not array",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/reffed/type",
    #       "error": "got string, not array",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 783 - ref.json: "remote ref, containing refs itself" - "remote ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 784 - ref.json: "remote ref, containing refs itself" - "remote ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/$defs/nonNegativeInteger/minimum",
    #       "error": "value is less than 0",
    #       "instanceLocation": "/minLength",
    #       "keywordLocation": "/$ref/allOf/2/$ref/properties/minLength/$ref/$ref/minimum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/allOf/2/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf",
    #       "error": "subschema 2 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/$defs/nonNegativeInteger/minimum",
    #       "error": "value is less than 0",
    #       "instanceLocation": "/minLength",
    #       "keywordLocation": "/$ref/allOf/2/$ref/properties/minLength/$ref/$ref/minimum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/meta/validation#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/allOf/2/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2019-09/schema#/allOf",
    #       "error": "subschema 2 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 785 - ref.json: "property named $ref that is not a reference" - "property named $ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 786 - ref.json: "property named $ref that is not a reference" - "property named $ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/$ref",
    #       "keywordLocation": "/properties/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/$ref",
    #       "keywordLocation": "/properties/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 787 - ref.json: "property named $ref, containing an actual $ref" - "property named $ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 788 - ref.json: "property named $ref, containing an actual $ref" - "property named $ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/is-string/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/$ref",
    #       "keywordLocation": "/properties/$ref/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/is-string/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/$ref",
    #       "keywordLocation": "/properties/$ref/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 789 - ref.json: "$ref to boolean schema true" - "any value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 790 - ref.json: "$ref to boolean schema false" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/bool",
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/bool",
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 791 - ref.json: "Recursive references between schemas" - "valid tree" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 792 - ref.json: "Recursive references between schemas" - "invalid tree" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/node#/properties/value/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "/nodes/0/subtree/nodes/0/value",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties/value/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/node#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0/subtree/nodes/0",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/tree#/properties/nodes/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/nodes/0/subtree/nodes",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/tree#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0/subtree",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/node#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/tree#/properties/nodes/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/nodes",
    #       "keywordLocation": "/properties/nodes/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/tree#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/node#/properties/value/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "/nodes/0/subtree/nodes/0/value",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties/value/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/node#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0/subtree/nodes/0",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/tree#/properties/nodes/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/nodes/0/subtree/nodes",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/tree#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0/subtree",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/node#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/tree#/properties/nodes/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/nodes",
    #       "keywordLocation": "/properties/nodes/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/tree#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 793 - ref.json: "refs with quote" - "object with numbers is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 794 - ref.json: "refs with quote" - "object with strings is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/foo%22bar/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\"bar",
    #       "keywordLocation": "/properties/foo\"bar/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/foo%22bar/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\"bar",
    #       "keywordLocation": "/properties/foo\"bar/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 795 - ref.json: "ref creates new scope when adjacent to keywords" - "referenced subschema doesn't see annotations from properties" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/A/unevaluatedProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/prop1",
    #       "keywordLocation": "/$ref/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/A/unevaluatedProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/A/unevaluatedProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/prop1",
    #       "keywordLocation": "/$ref/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/A/unevaluatedProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 796 - ref.json: "naive replacement of $ref with its destination is not correct" - "do not evaluate the $ref inside the enum, matching any string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 797 - ref.json: "naive replacement of $ref with its destination is not correct" - "do not evaluate the $ref inside the enum, definition exact match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 798 - ref.json: "naive replacement of $ref with its destination is not correct" - "match the enum exactly" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 799 - ref.json: "refs with relative uris and defs" - "invalid on inner field" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 800 - ref.json: "refs with relative uris and defs" - "invalid on outer field" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/$ref/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/$ref/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 801 - ref.json: "refs with relative uris and defs" - "valid on both fields" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 802 - ref.json: "relative refs with absolute uris and defs" - "invalid on inner field" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 803 - ref.json: "relative refs with absolute uris and defs" - "invalid on outer field" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/$ref/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/$ref/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 804 - ref.json: "relative refs with absolute uris and defs" - "valid on both fields" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 805 - ref.json: "$id must be resolved against nearest parent, not just immediate parent" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 806 - ref.json: "$id must be resolved against nearest parent, not just immediate parent" - "non-number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/b/d.json#/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/a.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/b/d.json#/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/a.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 807 - ref.json: "order of evaluation: $id and $ref" - "data is valid against first definition" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 808 - ref.json: "order of evaluation: $id and $ref" - "data is invalid against first definition" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://example.com/draft2019-09/ref-and-id1/int.json#/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://example.com/draft2019-09/ref-and-id1/int.json#/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 809 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is valid against first definition" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 810 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is invalid against first definition" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://example.com/draft2019-09/ref-and-id2/base.json#/$defs/bigint/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://example.com/draft2019-09/ref-and-id2/base.json#/$defs/bigint/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 811 - ref.json: "simple URN base URI with $ref via the URN" - "valid under the URN IDed schema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 812 - ref.json: "simple URN base URI with $ref via the URN" - "invalid under the URN IDed schema" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/minimum",
    #       "error": "value is less than 30",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/minimum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/minimum",
    #       "error": "value is less than 30",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/minimum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 813 - ref.json: "simple URN base URI with JSON pointer" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 814 - ref.json: "simple URN base URI with JSON pointer" - "a non-string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 815 - ref.json: "URN base URI with NSS" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 816 - ref.json: "URN base URI with NSS" - "a non-string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:example:1/406/47452/2#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:example:1/406/47452/2#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:example:1/406/47452/2#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:example:1/406/47452/2#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 817 - ref.json: "URN base URI with r-component" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 818 - ref.json: "URN base URI with r-component" - "a non-string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 819 - ref.json: "URN base URI with q-component" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 820 - ref.json: "URN base URI with q-component" - "a non-string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 821 - ref.json: "URN base URI with URN and JSON pointer ref" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 822 - ref.json: "URN base URI with URN and JSON pointer ref" - "a non-string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 823 - ref.json: "URN base URI with URN and anchor ref" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 824 - ref.json: "URN base URI with URN and anchor ref" - "a non-string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 825 - ref.json: "URN ref with nested pointer ref" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 826 - ref.json: "URN ref with nested pointer ref" - "a non-string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-4321-ffff-ffff-1234feebdaed#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-4321-ffff-ffff-1234feebdaed#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 827 - ref.json: "ref to if" - "a non-integer is invalid due to the $ref" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/ref/if#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/ref/if#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 828 - ref.json: "ref to if" - "an integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 829 - ref.json: "ref to then" - "a non-integer is invalid due to the $ref" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/ref/then#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/ref/then#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 830 - ref.json: "ref to then" - "an integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 831 - ref.json: "ref to else" - "a non-integer is invalid due to the $ref" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/ref/else#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/ref/else#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 832 - ref.json: "ref to else" - "an integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 833 - ref.json: "ref with absolute-path-reference" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 834 - ref.json: "ref with absolute-path-reference" - "an integer is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/absref/foobar.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/absref/foobar.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 835 - ref.json: "$id with file URI still resolves pointers - *nix" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 836 - ref.json: "$id with file URI still resolves pointers - *nix" - "non-number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "file:///folder/file.json#/$defs/foo/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "file:///folder/file.json#/$defs/foo/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 837 - ref.json: "$id with file URI still resolves pointers - windows" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 838 - ref.json: "$id with file URI still resolves pointers - windows" - "non-number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "file:///c:/folder/file.json#/$defs/foo/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "file:///c:/folder/file.json#/$defs/foo/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 839 - ref.json: "empty tokens in $ref json-pointer" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 840 - ref.json: "empty tokens in $ref json-pointer" - "non-number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs//$defs//type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs//$defs//type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 841 - ref.json: "$ref with $recursiveAnchor" - "extra items allowed for inner arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 842 - ref.json: "$ref with $recursiveAnchor" - "extra items disallowed for root" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://example.com/schemas/unevaluated-items-are-disallowed#/unevaluatedItems",
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://example.com/schemas/unevaluated-items-are-disallowed#/unevaluatedItems",
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://example.com/schemas/unevaluated-items-are-disallowed#/unevaluatedItems",
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://example.com/schemas/unevaluated-items-are-disallowed#/unevaluatedItems",
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 843 - refRemote.json: "remote ref" - "remote ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 844 - refRemote.json: "remote ref" - "remote ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/integer.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 845 - refRemote.json: "fragment within remote ref" - "remote fragment valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 846 - refRemote.json: "fragment within remote ref" - "remote fragment invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/subSchemas.json#/$defs/integer/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/subSchemas.json#/$defs/integer/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 847 - refRemote.json: "anchor within remote ref" - "remote anchor valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 848 - refRemote.json: "anchor within remote ref" - "remote anchor invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/locationIndependentIdentifier.json#/$defs/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/locationIndependentIdentifier.json#/$defs/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 849 - refRemote.json: "ref within remote ref" - "ref within ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 850 - refRemote.json: "ref within remote ref" - "ref within ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/subSchemas.json#/$defs/integer/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/subSchemas.json#/$defs/integer/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 851 - refRemote.json: "base URI change" - "base URI change ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 852 - refRemote.json: "base URI change" - "base URI change ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/baseUriChange/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/baseUriChange/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/baseUriChange/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/baseUriChange/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 853 - refRemote.json: "base URI change - change folder" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 854 - refRemote.json: "base URI change - change folder" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/baseUriChangeFolder/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/properties/list/$ref/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/baseUriChangeFolder/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/properties/list/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/scope_change_defs1.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/baseUriChangeFolder/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/properties/list/$ref/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/baseUriChangeFolder/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/properties/list/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/scope_change_defs1.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 855 - refRemote.json: "base URI change - change folder in subschema" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 856 - refRemote.json: "base URI change - change folder in subschema" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/baseUriChangeFolderInSubschema/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/properties/list/$ref/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/baseUriChangeFolderInSubschema/#/$defs/bar/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/properties/list/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/scope_change_defs2.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/baseUriChangeFolderInSubschema/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/properties/list/$ref/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/baseUriChangeFolderInSubschema/#/$defs/bar/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/properties/list/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/scope_change_defs2.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 857 - refRemote.json: "root ref in remote ref" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 858 - refRemote.json: "root ref in remote ref" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 859 - refRemote.json: "root ref in remote ref" - "object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/name-defs.json#/$defs/orNull/anyOf/0/type",
    #       "error": "got object, not null",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/name-defs.json#/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf/1/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/name-defs.json#/$defs/orNull/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/object#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/name-defs.json#/$defs/orNull/anyOf/0/type",
    #       "error": "got object, not null",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/name-defs.json#/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf/1/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/name-defs.json#/$defs/orNull/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/object#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 860 - refRemote.json: "remote ref with ref to defs" - "invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/ref-and-defs.json#/$defs/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/$ref/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/ref-and-defs.json#/$defs/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/ref-and-defs.json#/$defs/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/$ref/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/ref-and-defs.json#/$defs/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 861 - refRemote.json: "remote ref with ref to defs" - "valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 862 - refRemote.json: "Location-independent identifier in remote ref" - "integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 863 - refRemote.json: "Location-independent identifier in remote ref" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/locationIndependentIdentifier.json#/$defs/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/locationIndependentIdentifier.json#/$defs/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 864 - refRemote.json: "retrieved nested refs resolve relative to their URI not $id" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/name/foo",
    #       "keywordLocation": "/properties/name/$ref/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/foo-ref-string.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/some-id#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/string.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/name/foo",
    #       "keywordLocation": "/properties/name/$ref/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/nested/foo-ref-string.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/some-id#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 865 - refRemote.json: "retrieved nested refs resolve relative to their URI not $id" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 866 - refRemote.json: "remote HTTP ref with different $id" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/real-id-ref-string.json#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/real-id-ref-string.json#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 867 - refRemote.json: "remote HTTP ref with different $id" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 868 - refRemote.json: "remote HTTP ref with different URN $id" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:feebdaed-ffff-0000-ffff-0000deadbeef#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:feebdaed-ffff-0000-ffff-0000deadbeef#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 869 - refRemote.json: "remote HTTP ref with different URN $id" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 870 - refRemote.json: "remote HTTP ref with nested absolute ref" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/the-nested-id.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/the-nested-id.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 871 - refRemote.json: "remote HTTP ref with nested absolute ref" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 872 - refRemote.json: "$ref to $ref finds detached $anchor" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 873 - refRemote.json: "$ref to $ref finds detached $anchor" - "non-number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/detached-ref.json#/$defs/detached/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/detached-ref.json#/$defs/detached/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 874 - required.json: "required validation" - "present required property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 875 - required.json: "required validation" - "non-present required property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 876 - required.json: "required validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 877 - required.json: "required validation" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 878 - required.json: "required validation" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 879 - required.json: "required default validation" - "not required by default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 880 - required.json: "required with empty array" - "property not required" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 881 - required.json: "required with escaped characters" - "object with all properties present is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 882 - required.json: "required with escaped characters" - "object with some properties missing is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: foo\\bar, foo\rbar, foo\tbar, foo\fbar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: foo\\bar, foo\rbar, foo\tbar, foo\fbar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 883 - required.json: "required properties whose names are Javascript object property names" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 884 - required.json: "required properties whose names are Javascript object property names" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 885 - required.json: "required properties whose names are Javascript object property names" - "none of the properties mentioned" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, toString, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, toString, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 886 - required.json: "required properties whose names are Javascript object property names" - "__proto__ present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: toString, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: toString, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 887 - required.json: "required properties whose names are Javascript object property names" - "toString present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 888 - required.json: "required properties whose names are Javascript object property names" - "constructor present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, toString",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, toString",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 889 - required.json: "required properties whose names are Javascript object property names" - "all present" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 890 - type.json: "integer type matches integers" - "an integer is an integer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 891 - type.json: "integer type matches integers" - "a float with zero fractional part is an integer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 892 - type.json: "integer type matches integers" - "a float is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 893 - type.json: "integer type matches integers" - "a string is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 894 - type.json: "integer type matches integers" - "a string is still not an integer, even if it looks like one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 895 - type.json: "integer type matches integers" - "an object is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 896 - type.json: "integer type matches integers" - "an array is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 897 - type.json: "integer type matches integers" - "a boolean is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 898 - type.json: "integer type matches integers" - "null is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 899 - type.json: "number type matches numbers" - "an integer is a number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 900 - type.json: "number type matches numbers" - "a float with zero fractional part is a number (and an integer)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 901 - type.json: "number type matches numbers" - "a float is a number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 902 - type.json: "number type matches numbers" - "a string is not a number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 903 - type.json: "number type matches numbers" - "a string is still not a number, even if it looks like one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 904 - type.json: "number type matches numbers" - "an object is not a number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 905 - type.json: "number type matches numbers" - "an array is not a number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 906 - type.json: "number type matches numbers" - "a boolean is not a number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 907 - type.json: "number type matches numbers" - "null is not a number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 908 - type.json: "string type matches strings" - "1 is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 909 - type.json: "string type matches strings" - "a float is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 910 - type.json: "string type matches strings" - "a string is a string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 911 - type.json: "string type matches strings" - "a string is still a string, even if it looks like a number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 912 - type.json: "string type matches strings" - "an empty string is still a string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 913 - type.json: "string type matches strings" - "an object is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 914 - type.json: "string type matches strings" - "an array is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 915 - type.json: "string type matches strings" - "a boolean is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 916 - type.json: "string type matches strings" - "null is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 917 - type.json: "object type matches objects" - "an integer is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 918 - type.json: "object type matches objects" - "a float is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 919 - type.json: "object type matches objects" - "a string is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 920 - type.json: "object type matches objects" - "an object is an object" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 921 - type.json: "object type matches objects" - "an array is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 922 - type.json: "object type matches objects" - "a boolean is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 923 - type.json: "object type matches objects" - "null is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 924 - type.json: "array type matches arrays" - "an integer is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 925 - type.json: "array type matches arrays" - "a float is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 926 - type.json: "array type matches arrays" - "a string is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 927 - type.json: "array type matches arrays" - "an object is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 928 - type.json: "array type matches arrays" - "an array is an array" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 929 - type.json: "array type matches arrays" - "a boolean is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 930 - type.json: "array type matches arrays" - "null is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 931 - type.json: "boolean type matches booleans" - "an integer is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 932 - type.json: "boolean type matches booleans" - "zero is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 933 - type.json: "boolean type matches booleans" - "a float is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 934 - type.json: "boolean type matches booleans" - "a string is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 935 - type.json: "boolean type matches booleans" - "an empty string is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 936 - type.json: "boolean type matches booleans" - "an object is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 937 - type.json: "boolean type matches booleans" - "an array is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 938 - type.json: "boolean type matches booleans" - "true is a boolean" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 939 - type.json: "boolean type matches booleans" - "false is a boolean" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 940 - type.json: "boolean type matches booleans" - "null is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 941 - type.json: "null type matches only the null object" - "an integer is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 942 - type.json: "null type matches only the null object" - "a float is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 943 - type.json: "null type matches only the null object" - "zero is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 944 - type.json: "null type matches only the null object" - "a string is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 945 - type.json: "null type matches only the null object" - "an empty string is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 946 - type.json: "null type matches only the null object" - "an object is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 947 - type.json: "null type matches only the null object" - "an array is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 948 - type.json: "null type matches only the null object" - "true is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 949 - type.json: "null type matches only the null object" - "false is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 950 - type.json: "null type matches only the null object" - "null is null" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 951 - type.json: "multiple types can be specified in an array" - "an integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 952 - type.json: "multiple types can be specified in an array" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 953 - type.json: "multiple types can be specified in an array" - "a float is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 954 - type.json: "multiple types can be specified in an array" - "an object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 955 - type.json: "multiple types can be specified in an array" - "an array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 956 - type.json: "multiple types can be specified in an array" - "a boolean is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 957 - type.json: "multiple types can be specified in an array" - "null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 958 - type.json: "type as array with one item" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 959 - type.json: "type as array with one item" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 960 - type.json: "type: array or object" - "array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 961 - type.json: "type: array or object" - "object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 962 - type.json: "type: array or object" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 963 - type.json: "type: array or object" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 964 - type.json: "type: array or object" - "null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 965 - type.json: "type: array, object or null" - "array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 966 - type.json: "type: array, object or null" - "object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 967 - type.json: "type: array, object or null" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 968 - type.json: "type: array, object or null" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of array, object, null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of array, object, null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 969 - type.json: "type: array, object or null" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not one of array, object, null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not one of array, object, null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 970 - unevaluatedItems.json: "unevaluatedItems true" - "with no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 971 - unevaluatedItems.json: "unevaluatedItems true" - "with unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 972 - unevaluatedItems.json: "unevaluatedItems false" - "with no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 973 - unevaluatedItems.json: "unevaluatedItems false" - "with unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 974 - unevaluatedItems.json: "unevaluatedItems as schema" - "with no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 975 - unevaluatedItems.json: "unevaluatedItems as schema" - "with valid unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 976 - unevaluatedItems.json: "unevaluatedItems as schema" - "with invalid unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 977 - unevaluatedItems.json: "unevaluatedItems with uniform items" - "unevaluatedItems doesn't apply" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 978 - unevaluatedItems.json: "unevaluatedItems with tuple" - "with no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 979 - unevaluatedItems.json: "unevaluatedItems with tuple" - "with unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 980 - unevaluatedItems.json: "unevaluatedItems with items and additionalItems" - "unevaluatedItems doesn't apply" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 981 - unevaluatedItems.json: "unevaluatedItems with ignored additionalItems" - "invalid under unevaluatedItems" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/unevaluatedItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/unevaluatedItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 982 - unevaluatedItems.json: "unevaluatedItems with ignored additionalItems" - "all valid under unevaluatedItems" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 983 - unevaluatedItems.json: "unevaluatedItems with ignored applicator additionalItems" - "invalid under unevaluatedItems" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/unevaluatedItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/unevaluatedItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 984 - unevaluatedItems.json: "unevaluatedItems with ignored applicator additionalItems" - "all valid under unevaluatedItems" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 985 - unevaluatedItems.json: "unevaluatedItems with nested tuple" - "with no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 986 - unevaluatedItems.json: "unevaluatedItems with nested tuple" - "with unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 987 - unevaluatedItems.json: "unevaluatedItems with nested items" - "with only (valid) additional items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 988 - unevaluatedItems.json: "unevaluatedItems with nested items" - "with no additional items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 989 - unevaluatedItems.json: "unevaluatedItems with nested items" - "with invalid additional item" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 990 - unevaluatedItems.json: "unevaluatedItems with nested items and additionalItems" - "with no additional items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 991 - unevaluatedItems.json: "unevaluatedItems with nested items and additionalItems" - "with additional items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 992 - unevaluatedItems.json: "unevaluatedItems with nested unevaluatedItems" - "with no additional items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 993 - unevaluatedItems.json: "unevaluatedItems with nested unevaluatedItems" - "with additional items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 994 - unevaluatedItems.json: "unevaluatedItems with anyOf" - "when one schema matches and has no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 995 - unevaluatedItems.json: "unevaluatedItems with anyOf" - "when one schema matches and has unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 996 - unevaluatedItems.json: "unevaluatedItems with anyOf" - "when two schemas match and has no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 997 - unevaluatedItems.json: "unevaluatedItems with anyOf" - "when two schemas match and has unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 998 - unevaluatedItems.json: "unevaluatedItems with oneOf" - "with no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 999 - unevaluatedItems.json: "unevaluatedItems with oneOf" - "with unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1000 - unevaluatedItems.json: "unevaluatedItems with not" - "with unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1001 - unevaluatedItems.json: "unevaluatedItems with if/then/else" - "when if matches and it has no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1002 - unevaluatedItems.json: "unevaluatedItems with if/then/else" - "when if matches and it has unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1003 - unevaluatedItems.json: "unevaluatedItems with if/then/else" - "when if doesn't match and it has no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1004 - unevaluatedItems.json: "unevaluatedItems with if/then/else" - "when if doesn't match and it has unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/4",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/4",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1005 - unevaluatedItems.json: "unevaluatedItems with boolean schemas" - "with no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1006 - unevaluatedItems.json: "unevaluatedItems with boolean schemas" - "with unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1007 - unevaluatedItems.json: "unevaluatedItems with $ref" - "with no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1008 - unevaluatedItems.json: "unevaluatedItems with $ref" - "with unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1009 - unevaluatedItems.json: "unevaluatedItems before $ref" - "with no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1010 - unevaluatedItems.json: "unevaluatedItems before $ref" - "with unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1011 - unevaluatedItems.json: "unevaluatedItems with $recursiveRef" - "with no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1012 - unevaluatedItems.json: "unevaluatedItems with $recursiveRef" - "with unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://example.com/unevaluated-items-with-recursive-ref/tree#/items/1/unevaluatedItems",
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1/3",
    #       "keywordLocation": "/$ref/items/1/unevaluatedItems"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://example.com/unevaluated-items-with-recursive-ref/tree#/items/1/unevaluatedItems",
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/$ref/items/1/unevaluatedItems"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://example.com/unevaluated-items-with-recursive-ref/tree#/items",
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://example.com/unevaluated-items-with-recursive-ref/tree#/items/1/unevaluatedItems",
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1/3",
    #       "keywordLocation": "/$ref/items/1/unevaluatedItems"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://example.com/unevaluated-items-with-recursive-ref/tree#/items/1/unevaluatedItems",
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/$ref/items/1/unevaluatedItems"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://example.com/unevaluated-items-with-recursive-ref/tree#/items",
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1013 - unevaluatedItems.json: "unevaluatedItems can't see inside cousins" - "always fails" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/allOf/1/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/allOf/1/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1014 - unevaluatedItems.json: "item is evaluated in an uncle schema to unevaluatedItems" - "no extra items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1015 - unevaluatedItems.json: "item is evaluated in an uncle schema to unevaluatedItems" - "uncle keyword evaluation is not significant" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/foo/1",
    #       "keywordLocation": "/properties/foo/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/unevaluatedItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/foo/1",
    #       "keywordLocation": "/properties/foo/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/unevaluatedItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1016 - unevaluatedItems.json: "non-array instances are valid" - "ignores booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1017 - unevaluatedItems.json: "non-array instances are valid" - "ignores integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1018 - unevaluatedItems.json: "non-array instances are valid" - "ignores floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1019 - unevaluatedItems.json: "non-array instances are valid" - "ignores objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1020 - unevaluatedItems.json: "non-array instances are valid" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1021 - unevaluatedItems.json: "non-array instances are valid" - "ignores null" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1022 - unevaluatedItems.json: "unevaluatedItems with null instance elements" - "allows null elements" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1023 - unevaluatedItems.json: "unevaluatedItems can see annotations from if without then and else" - "valid in case if is evaluated" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1024 - unevaluatedItems.json: "unevaluatedItems can see annotations from if without then and else" - "invalid in case if is evaluated" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 1025 - unevaluatedProperties.json: "unevaluatedProperties true" - "with no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1026 - unevaluatedProperties.json: "unevaluatedProperties true" - "with unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1027 - unevaluatedProperties.json: "unevaluatedProperties schema" - "with no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1028 - unevaluatedProperties.json: "unevaluatedProperties schema" - "with valid unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1029 - unevaluatedProperties.json: "unevaluatedProperties schema" - "with invalid unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 3",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties/minLength"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 3",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties/minLength"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1030 - unevaluatedProperties.json: "unevaluatedProperties false" - "with no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1031 - unevaluatedProperties.json: "unevaluatedProperties false" - "with unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1032 - unevaluatedProperties.json: "unevaluatedProperties with adjacent properties" - "with no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1033 - unevaluatedProperties.json: "unevaluatedProperties with adjacent properties" - "with unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1034 - unevaluatedProperties.json: "unevaluatedProperties with adjacent patternProperties" - "with no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1035 - unevaluatedProperties.json: "unevaluatedProperties with adjacent patternProperties" - "with unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1036 - unevaluatedProperties.json: "unevaluatedProperties with adjacent additionalProperties" - "with no additional properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1037 - unevaluatedProperties.json: "unevaluatedProperties with adjacent additionalProperties" - "with additional properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1038 - unevaluatedProperties.json: "unevaluatedProperties with nested properties" - "with no additional properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1039 - unevaluatedProperties.json: "unevaluatedProperties with nested properties" - "with additional properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1040 - unevaluatedProperties.json: "unevaluatedProperties with nested patternProperties" - "with no additional properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1041 - unevaluatedProperties.json: "unevaluatedProperties with nested patternProperties" - "with additional properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1042 - unevaluatedProperties.json: "unevaluatedProperties with nested additionalProperties" - "with no additional properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1043 - unevaluatedProperties.json: "unevaluatedProperties with nested additionalProperties" - "with additional properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1044 - unevaluatedProperties.json: "unevaluatedProperties with nested unevaluatedProperties" - "with no nested unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1045 - unevaluatedProperties.json: "unevaluatedProperties with nested unevaluatedProperties" - "with nested unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1046 - unevaluatedProperties.json: "unevaluatedProperties with anyOf" - "when one matches and has no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1047 - unevaluatedProperties.json: "unevaluatedProperties with anyOf" - "when one matches and has unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1048 - unevaluatedProperties.json: "unevaluatedProperties with anyOf" - "when two match and has no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1049 - unevaluatedProperties.json: "unevaluatedProperties with anyOf" - "when two match and has unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1050 - unevaluatedProperties.json: "unevaluatedProperties with oneOf" - "with no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1051 - unevaluatedProperties.json: "unevaluatedProperties with oneOf" - "with unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1052 - unevaluatedProperties.json: "unevaluatedProperties with not" - "with unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1053 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else" - "when if is true and has no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1054 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else" - "when if is true and has unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1055 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else" - "when if is false and has no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1056 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else" - "when if is false and has unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1057 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, then not defined" - "when if is true and has no unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1058 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, then not defined" - "when if is true and has unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1059 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, then not defined" - "when if is false and has no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1060 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, then not defined" - "when if is false and has unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1061 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, else not defined" - "when if is true and has no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1062 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, else not defined" - "when if is true and has unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1063 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, else not defined" - "when if is false and has no unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1064 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, else not defined" - "when if is false and has unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1065 - unevaluatedProperties.json: "unevaluatedProperties with dependentSchemas" - "with no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1066 - unevaluatedProperties.json: "unevaluatedProperties with dependentSchemas" - "with unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1067 - unevaluatedProperties.json: "unevaluatedProperties with boolean schemas" - "with no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1068 - unevaluatedProperties.json: "unevaluatedProperties with boolean schemas" - "with unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1069 - unevaluatedProperties.json: "unevaluatedProperties with $ref" - "with no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1070 - unevaluatedProperties.json: "unevaluatedProperties with $ref" - "with unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1071 - unevaluatedProperties.json: "unevaluatedProperties before $ref" - "with no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1072 - unevaluatedProperties.json: "unevaluatedProperties before $ref" - "with unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1073 - unevaluatedProperties.json: "unevaluatedProperties with $recursiveRef" - "with no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1074 - unevaluatedProperties.json: "unevaluatedProperties with $recursiveRef" - "with unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://example.com/unevaluated-properties-with-recursive-ref/tree#/properties/branches/unevaluatedProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/branches/foo",
    #       "keywordLocation": "/$ref/properties/branches/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://example.com/unevaluated-properties-with-recursive-ref/tree#/properties/branches/unevaluatedProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/branches",
    #       "keywordLocation": "/$ref/properties/branches/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://example.com/unevaluated-properties-with-recursive-ref/tree#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://example.com/unevaluated-properties-with-recursive-ref/tree#/properties/branches/unevaluatedProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/branches/foo",
    #       "keywordLocation": "/$ref/properties/branches/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://example.com/unevaluated-properties-with-recursive-ref/tree#/properties/branches/unevaluatedProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/branches",
    #       "keywordLocation": "/$ref/properties/branches/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://example.com/unevaluated-properties-with-recursive-ref/tree#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1075 - unevaluatedProperties.json: "unevaluatedProperties can't see inside cousins" - "always fails" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1076 - unevaluatedProperties.json: "unevaluatedProperties can't see inside cousins (reverse order)" - "always fails" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1077 - unevaluatedProperties.json: "nested unevaluatedProperties, outer false, inner true, properties outside" - "with no nested unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1078 - unevaluatedProperties.json: "nested unevaluatedProperties, outer false, inner true, properties outside" - "with nested unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1079 - unevaluatedProperties.json: "nested unevaluatedProperties, outer false, inner true, properties inside" - "with no nested unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1080 - unevaluatedProperties.json: "nested unevaluatedProperties, outer false, inner true, properties inside" - "with nested unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1081 - unevaluatedProperties.json: "nested unevaluatedProperties, outer true, inner false, properties outside" - "with no nested unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1082 - unevaluatedProperties.json: "nested unevaluatedProperties, outer true, inner false, properties outside" - "with nested unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1083 - unevaluatedProperties.json: "nested unevaluatedProperties, outer true, inner false, properties inside" - "with no nested unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1084 - unevaluatedProperties.json: "nested unevaluatedProperties, outer true, inner false, properties inside" - "with nested unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1085 - unevaluatedProperties.json: "cousin unevaluatedProperties, true and false, true with properties" - "with no nested unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1086 - unevaluatedProperties.json: "cousin unevaluatedProperties, true and false, true with properties" - "with nested unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1087 - unevaluatedProperties.json: "cousin unevaluatedProperties, true and false, false with properties" - "with no nested unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1088 - unevaluatedProperties.json: "cousin unevaluatedProperties, true and false, false with properties" - "with nested unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1089 - unevaluatedProperties.json: "property is evaluated in an uncle schema to unevaluatedProperties" - "no extra properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1090 - unevaluatedProperties.json: "property is evaluated in an uncle schema to unevaluatedProperties" - "uncle keyword evaluation is not significant" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo/faz",
    #       "keywordLocation": "/properties/foo/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo/faz",
    #       "keywordLocation": "/properties/foo/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1091 - unevaluatedProperties.json: "in-place applicator siblings, allOf has unevaluated" - "base case: both properties present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1092 - unevaluatedProperties.json: "in-place applicator siblings, allOf has unevaluated" - "in place applicator siblings, bar is missing" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1093 - unevaluatedProperties.json: "in-place applicator siblings, allOf has unevaluated" - "in place applicator siblings, foo is missing" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1094 - unevaluatedProperties.json: "in-place applicator siblings, anyOf has unevaluated" - "base case: both properties present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1095 - unevaluatedProperties.json: "in-place applicator siblings, anyOf has unevaluated" - "in place applicator siblings, bar is missing" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1096 - unevaluatedProperties.json: "in-place applicator siblings, anyOf has unevaluated" - "in place applicator siblings, foo is missing" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1097 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Empty is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1098 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Single is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1099 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Unevaluated on 1st level is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/y",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/y",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1100 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Nested is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1101 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Unevaluated on 2nd level is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/unevaluatedProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x/y",
    #       "keywordLocation": "/properties/x/$ref/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/unevaluatedProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x/$ref/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/unevaluatedProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x/y",
    #       "keywordLocation": "/properties/x/$ref/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/unevaluatedProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x/$ref/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1102 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Deep nested is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1103 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Unevaluated on 3rd level is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/unevaluatedProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x/x/y",
    #       "keywordLocation": "/properties/x/$ref/properties/x/$ref/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/unevaluatedProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/x/x",
    #       "keywordLocation": "/properties/x/$ref/properties/x/$ref/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x/$ref/properties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/unevaluatedProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x/x/y",
    #       "keywordLocation": "/properties/x/$ref/properties/x/$ref/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/unevaluatedProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/x/x",
    #       "keywordLocation": "/properties/x/$ref/properties/x/$ref/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x/$ref/properties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1104 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "Empty is invalid (no x or y)" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/two/required",
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf/0/$ref/required"
    #     },
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf"
    #     },
    #     {
    #       "error": "subschema 2 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/two/required",
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf/0/$ref/required"
    #     },
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf"
    #     },
    #     {
    #       "error": "subschema 2 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1105 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and b are invalid (no x or y)" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/two/required",
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf/0/$ref/required"
    #     },
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf"
    #     },
    #     {
    #       "error": "subschema 2 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/two/required",
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf/0/$ref/required"
    #     },
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf"
    #     },
    #     {
    #       "error": "subschema 2 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1106 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "x and y are invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf"
    #     },
    #     {
    #       "error": "subschema 2 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/y",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf"
    #     },
    #     {
    #       "error": "subschema 2 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/y",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1107 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and x are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1108 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and y are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1109 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and b and x are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1110 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and b and y are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1111 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and b and x and y are invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf"
    #     },
    #     {
    #       "error": "subschema 2 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/y",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf"
    #     },
    #     {
    #       "error": "subschema 2 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/y",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1112 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "Empty is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/two/oneOf/0/required",
    #       "error": "object is missing property: c",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf/0/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/two/oneOf/1/required",
    #       "error": "object is missing property: d",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf/1/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/two/oneOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf/1/required",
    #       "error": "object is missing property: b",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/1/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf/2/required",
    #       "error": "object is missing property: xx",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/2/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf/3/required",
    #       "error": "object is missing property: all",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/3/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/two/oneOf/0/required",
    #       "error": "object is missing property: c",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf/0/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/two/oneOf/1/required",
    #       "error": "object is missing property: d",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf/1/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/two/oneOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf/1/required",
    #       "error": "object is missing property: b",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/1/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf/2/required",
    #       "error": "object is missing property: xx",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/2/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf/3/required",
    #       "error": "object is missing property: all",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/3/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1113 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "a is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1114 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "b is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1115 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "c is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1116 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "d is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1117 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "a + b is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1118 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "a + c is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1119 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "a + d is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1120 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "b + c is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/b",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/c",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/b",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/c",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1121 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "b + d is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/b",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/d",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/b",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/d",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1122 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "c + d is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/two/oneOf",
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf/1/required",
    #       "error": "object is missing property: b",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/1/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf/2/required",
    #       "error": "object is missing property: xx",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/2/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf/3/required",
    #       "error": "object is missing property: all",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/3/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/c",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/d",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/two/oneOf",
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf/1/required",
    #       "error": "object is missing property: b",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/1/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf/2/required",
    #       "error": "object is missing property: xx",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/2/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf/3/required",
    #       "error": "object is missing property: all",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/3/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/c",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/d",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1123 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1124 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + foox is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1125 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + foo is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1126 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + a is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1127 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + b is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "multiple subschemas are valid: 1, 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/b",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/xx",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "multiple subschemas are valid: 1, 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/b",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/xx",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1128 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + c is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "multiple subschemas are valid: 0, 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/c",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/xx",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "multiple subschemas are valid: 0, 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/c",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/xx",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1129 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + d is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "multiple subschemas are valid: 0, 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/d",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/xx",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "multiple subschemas are valid: 0, 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/d",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/xx",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1130 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "all is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1131 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "all + foo is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1132 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "all + a is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1133 - unevaluatedProperties.json: "non-object instances are valid" - "ignores booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1134 - unevaluatedProperties.json: "non-object instances are valid" - "ignores integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1135 - unevaluatedProperties.json: "non-object instances are valid" - "ignores floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1136 - unevaluatedProperties.json: "non-object instances are valid" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1137 - unevaluatedProperties.json: "non-object instances are valid" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1138 - unevaluatedProperties.json: "non-object instances are valid" - "ignores null" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1139 - unevaluatedProperties.json: "unevaluatedProperties with null valued instance properties" - "allows null valued properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1140 - unevaluatedProperties.json: "unevaluatedProperties not affected by propertyNames" - "allows only number properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1141 - unevaluatedProperties.json: "unevaluatedProperties not affected by propertyNames" - "string property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/a",
    #       "keywordLocation": "/unevaluatedProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/a",
    #       "keywordLocation": "/unevaluatedProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1142 - unevaluatedProperties.json: "unevaluatedProperties can see annotations from if without then and else" - "valid in case if is evaluated" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1143 - unevaluatedProperties.json: "unevaluatedProperties can see annotations from if without then and else" - "invalid in case if is evaluated" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1144 - unevaluatedProperties.json: "dependentSchemas with unevaluatedProperties" - "unevaluatedProperties doesn't consider dependentSchemas" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1145 - unevaluatedProperties.json: "dependentSchemas with unevaluatedProperties" - "unevaluatedProperties doesn't see bar when foo2 is absent" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1146 - unevaluatedProperties.json: "dependentSchemas with unevaluatedProperties" - "unevaluatedProperties sees bar when foo2 is present" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 1147 - uniqueItems.json: "uniqueItems validation" - "unique array of integers is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1148 - uniqueItems.json: "uniqueItems validation" - "non-unique array of integers is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1149 - uniqueItems.json: "uniqueItems validation" - "non-unique array of more than two integers is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1150 - uniqueItems.json: "uniqueItems validation" - "numbers are unique if mathematically unequal" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1151 - uniqueItems.json: "uniqueItems validation" - "false is not equal to zero" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1152 - uniqueItems.json: "uniqueItems validation" - "true is not equal to one" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1153 - uniqueItems.json: "uniqueItems validation" - "unique array of strings is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1154 - uniqueItems.json: "uniqueItems validation" - "non-unique array of strings is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1155 - uniqueItems.json: "uniqueItems validation" - "unique array of objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1156 - uniqueItems.json: "uniqueItems validation" - "non-unique array of objects is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1157 - uniqueItems.json: "uniqueItems validation" - "property order of array of objects is ignored" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1158 - uniqueItems.json: "uniqueItems validation" - "unique array of nested objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1159 - uniqueItems.json: "uniqueItems validation" - "non-unique array of nested objects is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1160 - uniqueItems.json: "uniqueItems validation" - "unique array of arrays is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1161 - uniqueItems.json: "uniqueItems validation" - "non-unique array of arrays is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1162 - uniqueItems.json: "uniqueItems validation" - "non-unique array of more than two arrays is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1163 - uniqueItems.json: "uniqueItems validation" - "1 and true are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1164 - uniqueItems.json: "uniqueItems validation" - "0 and false are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1165 - uniqueItems.json: "uniqueItems validation" - "[1] and [true] are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1166 - uniqueItems.json: "uniqueItems validation" - "[0] and [false] are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1167 - uniqueItems.json: "uniqueItems validation" - "nested [1] and [true] are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1168 - uniqueItems.json: "uniqueItems validation" - "nested [0] and [false] are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1169 - uniqueItems.json: "uniqueItems validation" - "unique heterogeneous types are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1170 - uniqueItems.json: "uniqueItems validation" - "non-unique heterogeneous types are invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 4 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 4 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1171 - uniqueItems.json: "uniqueItems validation" - "different objects are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1172 - uniqueItems.json: "uniqueItems validation" - "objects are non-unique despite key order" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1173 - uniqueItems.json: "uniqueItems validation" - "{"a": false} and {"a": 0} are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1174 - uniqueItems.json: "uniqueItems validation" - "{"a": true} and {"a": 1} are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1175 - uniqueItems.json: "uniqueItems with an array of items" - "[false, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1176 - uniqueItems.json: "uniqueItems with an array of items" - "[true, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1177 - uniqueItems.json: "uniqueItems with an array of items" - "[false, false] from items array is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1178 - uniqueItems.json: "uniqueItems with an array of items" - "[true, true] from items array is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1179 - uniqueItems.json: "uniqueItems with an array of items" - "unique array extended from [false, true] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1180 - uniqueItems.json: "uniqueItems with an array of items" - "unique array extended from [true, false] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1181 - uniqueItems.json: "uniqueItems with an array of items" - "non-unique array extended from [false, true] is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 2 and 3 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 2 and 3 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1182 - uniqueItems.json: "uniqueItems with an array of items" - "non-unique array extended from [true, false] is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 2 and 3 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 2 and 3 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1183 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[false, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1184 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[true, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1185 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[false, false] from items array is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1186 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[true, true] from items array is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1187 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "extra items are invalid even if unique" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1188 - uniqueItems.json: "uniqueItems=false validation" - "unique array of integers is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1189 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of integers is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1190 - uniqueItems.json: "uniqueItems=false validation" - "numbers are unique if mathematically unequal" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1191 - uniqueItems.json: "uniqueItems=false validation" - "false is not equal to zero" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1192 - uniqueItems.json: "uniqueItems=false validation" - "true is not equal to one" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1193 - uniqueItems.json: "uniqueItems=false validation" - "unique array of objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1194 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1195 - uniqueItems.json: "uniqueItems=false validation" - "unique array of nested objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1196 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of nested objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1197 - uniqueItems.json: "uniqueItems=false validation" - "unique array of arrays is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1198 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of arrays is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1199 - uniqueItems.json: "uniqueItems=false validation" - "1 and true are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1200 - uniqueItems.json: "uniqueItems=false validation" - "0 and false are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1201 - uniqueItems.json: "uniqueItems=false validation" - "unique heterogeneous types are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1202 - uniqueItems.json: "uniqueItems=false validation" - "non-unique heterogeneous types are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1203 - uniqueItems.json: "uniqueItems=false with an array of items" - "[false, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1204 - uniqueItems.json: "uniqueItems=false with an array of items" - "[true, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1205 - uniqueItems.json: "uniqueItems=false with an array of items" - "[false, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1206 - uniqueItems.json: "uniqueItems=false with an array of items" - "[true, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1207 - uniqueItems.json: "uniqueItems=false with an array of items" - "unique array extended from [false, true] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1208 - uniqueItems.json: "uniqueItems=false with an array of items" - "unique array extended from [true, false] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1209 - uniqueItems.json: "uniqueItems=false with an array of items" - "non-unique array extended from [false, true] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1210 - uniqueItems.json: "uniqueItems=false with an array of items" - "non-unique array extended from [true, false] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1211 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[false, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1212 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[true, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1213 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[false, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1214 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[true, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1215 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "extra items are invalid even if unique" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 1216 - vocabulary.json: "schema that uses custom metaschema with with no validation vocabulary" - "applicator vocabulary still works" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://schema/using/no/validation#/properties/badProperty",
    #       "error": "property not permitted",
    #       "instanceLocation": "/badProperty",
    #       "keywordLocation": "/properties/badProperty"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://schema/using/no/validation#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://schema/using/no/validation#/properties/badProperty",
    #       "error": "property not permitted",
    #       "instanceLocation": "/badProperty",
    #       "keywordLocation": "/properties/badProperty"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://schema/using/no/validation#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1217 - vocabulary.json: "schema that uses custom metaschema with with no validation vocabulary" - "no validation: valid number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1218 - vocabulary.json: "schema that uses custom metaschema with with no validation vocabulary" - "no validation: invalid number, but it still validates" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1219 - vocabulary.json: "ignore unrecognized optional vocabulary" - "string value" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1220 - vocabulary.json: "ignore unrecognized optional vocabulary" - "number value" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 1221 - optional/anchor.json: "$anchor inside an enum is not a real identifier" - "exact match to enum, and type matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1222 - optional/anchor.json: "$anchor inside an enum is not a real identifier" - "in implementations that strip $anchor, this may match either $def" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/anchor_in_enum/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/real_identifier_in_schema/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/anchor_in_enum/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/real_identifier_in_schema/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1223 - optional/anchor.json: "$anchor inside an enum is not a real identifier" - "match $ref to $anchor" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1224 - optional/anchor.json: "$anchor inside an enum is not a real identifier" - "no match on enum or $ref to $anchor" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/anchor_in_enum/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/real_identifier_in_schema/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/anchor_in_enum/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/real_identifier_in_schema/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 1225 - optional/bignum.json: "integer" - "a bignum is an integer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1226 - optional/bignum.json: "integer" - "a negative bignum is an integer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1227 - optional/bignum.json: "number" - "a bignum is a number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1228 - optional/bignum.json: "number" - "a negative bignum is a number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1229 - optional/bignum.json: "string" - "a bignum is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1230 - optional/bignum.json: "maximum integer comparison" - "comparison works for high numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1231 - optional/bignum.json: "float comparison with high precision" - "comparison works for high numbers" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 972783798187987123879878123.18878137",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 972783798187987123879878123.18878137",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1232 - optional/bignum.json: "minimum integer comparison" - "comparison works for very negative numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1233 - optional/bignum.json: "float comparison with high precision on negative numbers" - "comparison works for very negative numbers" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to -972783798187987123879878123.18878137",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to -972783798187987123879878123.18878137",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 1234 - optional/cross-draft.json: "refs to future drafts are processed as future drafts" - "first item not a string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/prefixItems.json#/prefixItems/0/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/$ref/prefixItems/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/prefixItems.json#/prefixItems",
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/prefixItems.json#/prefixItems/0/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/$ref/prefixItems/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/prefixItems.json#/prefixItems",
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1235 - optional/cross-draft.json: "refs to future drafts are processed as future drafts" - "first item is a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1236 - optional/cross-draft.json: "refs to historic drafts are processed as historic drafts" - "missing bar is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 1237 - optional/dependencies-compatibility.json: "single dependency" - "neither" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1238 - optional/dependencies-compatibility.json: "single dependency" - "nondependant" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1239 - optional/dependencies-compatibility.json: "single dependency" - "with dependency" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1240 - optional/dependencies-compatibility.json: "single dependency" - "missing dependency" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "dependencies": {
    #     "bar": [
    #       "foo"
    #     ]
    #   }
    # }
    # data: {
    #   "bar": 2
    # }
    # result: 1
    1..1
}
ok 1241 - optional/dependencies-compatibility.json: "single dependency" - "ignores arrays" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1242 - optional/dependencies-compatibility.json: "single dependency" - "ignores strings" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1243 - optional/dependencies-compatibility.json: "single dependency" - "ignores other non-objects" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1244 - optional/dependencies-compatibility.json: "empty dependents" - "empty object" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1245 - optional/dependencies-compatibility.json: "empty dependents" - "object with one property" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1246 - optional/dependencies-compatibility.json: "empty dependents" - "non-object is valid" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1247 - optional/dependencies-compatibility.json: "multiple dependents required" - "neither" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1248 - optional/dependencies-compatibility.json: "multiple dependents required" - "nondependants" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1249 - optional/dependencies-compatibility.json: "multiple dependents required" - "with dependencies" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1250 - optional/dependencies-compatibility.json: "multiple dependents required" - "missing dependency" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "dependencies": {
    #     "quux": [
    #       "foo",
    #       "bar"
    #     ]
    #   }
    # }
    # data: {
    #   "foo": 1,
    #   "quux": 2
    # }
    # result: 1
    1..1
}
ok 1251 - optional/dependencies-compatibility.json: "multiple dependents required" - "missing other dependency" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "dependencies": {
    #     "quux": [
    #       "foo",
    #       "bar"
    #     ]
    #   }
    # }
    # data: {
    #   "bar": 1,
    #   "quux": 2
    # }
    # result: 1
    1..1
}
ok 1252 - optional/dependencies-compatibility.json: "multiple dependents required" - "missing both dependencies" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "dependencies": {
    #     "quux": [
    #       "foo",
    #       "bar"
    #     ]
    #   }
    # }
    # data: {
    #   "quux": 1
    # }
    # result: 1
    1..1
}
ok 1253 - optional/dependencies-compatibility.json: "dependencies with escaped characters" - "CRLF" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1254 - optional/dependencies-compatibility.json: "dependencies with escaped characters" - "quoted quotes" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1255 - optional/dependencies-compatibility.json: "dependencies with escaped characters" - "CRLF missing dependent" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "dependencies": {
    #     "foo\nbar": [
    #       "foo\rbar"
    #     ],
    #     "foo\"bar": [
    #       "foo'bar"
    #     ]
    #   }
    # }
    # data: {
    #   "foo": 2,
    #   "foo\nbar": 1
    # }
    # result: 1
    1..1
}
ok 1256 - optional/dependencies-compatibility.json: "dependencies with escaped characters" - "quoted quotes missing dependent" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "dependencies": {
    #     "foo\nbar": [
    #       "foo\rbar"
    #     ],
    #     "foo\"bar": [
    #       "foo'bar"
    #     ]
    #   }
    # }
    # data: {
    #   "foo\"bar": 2
    # }
    # result: 1
    1..1
}
ok 1257 - optional/dependencies-compatibility.json: "single schema dependency" - "valid" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1258 - optional/dependencies-compatibility.json: "single schema dependency" - "no dependency" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1259 - optional/dependencies-compatibility.json: "single schema dependency" - "wrong type" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "dependencies": {
    #     "bar": {
    #       "properties": {
    #         "bar": {
    #           "type": "integer"
    #         },
    #         "foo": {
    #           "type": "integer"
    #         }
    #       }
    #     }
    #   }
    # }
    # data: {
    #   "bar": 2,
    #   "foo": "quux"
    # }
    # result: 1
    1..1
}
ok 1260 - optional/dependencies-compatibility.json: "single schema dependency" - "wrong type other" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "dependencies": {
    #     "bar": {
    #       "properties": {
    #         "bar": {
    #           "type": "integer"
    #         },
    #         "foo": {
    #           "type": "integer"
    #         }
    #       }
    #     }
    #   }
    # }
    # data: {
    #   "bar": "quux",
    #   "foo": 2
    # }
    # result: 1
    1..1
}
ok 1261 - optional/dependencies-compatibility.json: "single schema dependency" - "wrong type both" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "dependencies": {
    #     "bar": {
    #       "properties": {
    #         "bar": {
    #           "type": "integer"
    #         },
    #         "foo": {
    #           "type": "integer"
    #         }
    #       }
    #     }
    #   }
    # }
    # data: {
    #   "bar": "quux",
    #   "foo": "quux"
    # }
    # result: 1
    1..1
}
ok 1262 - optional/dependencies-compatibility.json: "single schema dependency" - "ignores arrays" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1263 - optional/dependencies-compatibility.json: "single schema dependency" - "ignores strings" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1264 - optional/dependencies-compatibility.json: "single schema dependency" - "ignores other non-objects" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1265 - optional/dependencies-compatibility.json: "boolean subschemas" - "object with property having schema true is valid" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1266 - optional/dependencies-compatibility.json: "boolean subschemas" - "object with property having schema false is invalid" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "dependencies": {
    #     "bar": false,
    #     "foo": true
    #   }
    # }
    # data: {
    #   "bar": 2
    # }
    # result: 1
    1..1
}
ok 1267 - optional/dependencies-compatibility.json: "boolean subschemas" - "object with both properties is invalid" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "dependencies": {
    #     "bar": false,
    #     "foo": true
    #   }
    # }
    # data: {
    #   "bar": 2,
    #   "foo": 1
    # }
    # result: 1
    1..1
}
ok 1268 - optional/dependencies-compatibility.json: "boolean subschemas" - "empty object is valid" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1269 - optional/dependencies-compatibility.json: "schema dependencies with escaped characters" - "quoted tab" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1270 - optional/dependencies-compatibility.json: "schema dependencies with escaped characters" - "quoted quote" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "dependencies": {
    #     "foo\tbar": {
    #       "minProperties": 4
    #     },
    #     "foo'bar": {
    #       "required": [
    #         "foo\"bar"
    #       ]
    #     }
    #   }
    # }
    # data: {
    #   "foo'bar": {
    #     "foo\"bar": 1
    #   }
    # }
    # result: 1
    1..1
}
ok 1271 - optional/dependencies-compatibility.json: "schema dependencies with escaped characters" - "quoted tab invalid under dependent schema" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "dependencies": {
    #     "foo\tbar": {
    #       "minProperties": 4
    #     },
    #     "foo'bar": {
    #       "required": [
    #         "foo\"bar"
    #       ]
    #     }
    #   }
    # }
    # data: {
    #   "a": 2,
    #   "foo\tbar": 1
    # }
    # result: 1
    1..1
}
ok 1272 - optional/dependencies-compatibility.json: "schema dependencies with escaped characters" - "quoted quote invalid under dependent schema" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "dependencies": {
    #     "foo\tbar": {
    #       "minProperties": 4
    #     },
    #     "foo'bar": {
    #       "required": [
    #         "foo\"bar"
    #       ]
    #     }
    #   }
    # }
    # data: {
    #   "foo'bar": 1
    # }
    # result: 1
    1..1
}
# 
ok 1273 - optional/ecmascript-regex.json: "ECMA 262 regex $ does not match trailing newline" - "matches in Python, but not in ECMA 262" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1274 - optional/ecmascript-regex.json: "ECMA 262 regex $ does not match trailing newline" - "matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1275 - optional/ecmascript-regex.json: "ECMA 262 regex converts \t to horizontal tab" - "does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1276 - optional/ecmascript-regex.json: "ECMA 262 regex converts \t to horizontal tab" - "matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1277 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and upper letter" - "does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1278 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and upper letter" - "matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1279 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and lower letter" - "does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1280 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and lower letter" - "matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1281 - optional/ecmascript-regex.json: "ECMA 262 \d matches ascii digits only" - "ASCII zero matches" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1282 - optional/ecmascript-regex.json: "ECMA 262 \d matches ascii digits only" - "NKO DIGIT ZERO does not match (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "pattern": "^\\d$",
    #   "type": "string"
    # }
    # data: "߀"
    # result: 1
    1..1
}
ok 1283 - optional/ecmascript-regex.json: "ECMA 262 \d matches ascii digits only" - "NKO DIGIT ZERO (as \u escape) does not match" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "pattern": "^\\d$",
    #   "type": "string"
    # }
    # data: "߀"
    # result: 1
    1..1
}
ok 1284 - optional/ecmascript-regex.json: "ECMA 262 \D matches everything but ascii digits" - "ASCII zero does not match" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 1285 - optional/ecmascript-regex.json: "ECMA 262 \D matches everything but ascii digits" - "NKO DIGIT ZERO matches (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "pattern": "^\\D$",
    #   "type": "string"
    # }
    # data: "߀"
    # result: 0
    1..1
}
ok 1286 - optional/ecmascript-regex.json: "ECMA 262 \D matches everything but ascii digits" - "NKO DIGIT ZERO (as \u escape) matches" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "pattern": "^\\D$",
    #   "type": "string"
    # }
    # data: "߀"
    # result: 0
    1..1
}
ok 1287 - optional/ecmascript-regex.json: "ECMA 262 \w matches ascii letters only" - "ASCII 'a' matches" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1288 - optional/ecmascript-regex.json: "ECMA 262 \w matches ascii letters only" - "latin-1 e-acute does not match (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "pattern": "^\\w$",
    #   "type": "string"
    # }
    # data: "é"
    # result: 1
    1..1
}
ok 1289 - optional/ecmascript-regex.json: "ECMA 262 \W matches everything but ascii letters" - "ASCII 'a' does not match" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 1290 - optional/ecmascript-regex.json: "ECMA 262 \W matches everything but ascii letters" - "latin-1 e-acute matches (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "pattern": "^\\W$",
    #   "type": "string"
    # }
    # data: "é"
    # result: 0
    1..1
}
ok 1291 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "ASCII space matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1292 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Character tabulation matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1293 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Line tabulation matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1294 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Form feed matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1295 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "latin-1 non-breaking-space matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1296 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "zero-width whitespace matches" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "pattern": "^\\s$",
    #   "type": "string"
    # }
    # data: ""
    # result: 0
    1..1
}
ok 1297 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "line feed matches (line terminator)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1298 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "paragraph separator matches (line terminator)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1299 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "EM SPACE matches (Space_Separator)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1300 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Non-whitespace control does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1301 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Non-whitespace does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1302 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "ASCII space does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1303 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Character tabulation does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1304 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Line tabulation does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1305 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Form feed does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1306 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "latin-1 non-breaking-space does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1307 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "zero-width whitespace does not match" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "pattern": "^\\S$",
    #   "type": "string"
    # }
    # data: ""
    # result: 1
    1..1
}
ok 1308 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "line feed does not match (line terminator)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1309 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "paragraph separator does not match (line terminator)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1310 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "EM SPACE does not match (Space_Separator)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1311 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Non-whitespace control matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1312 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Non-whitespace matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1313 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "ascii character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1314 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "literal unicode character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1315 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "unicode character in hex format in string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1316 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "unicode matching is case-sensitive" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1317 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "ascii character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1318 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "literal unicode character in json string" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "pattern": "\\wcole"
    # }
    # data: "Les hivers de mon enfance étaient des saisons longues, longues. Nous vivions en trois lieux: l'école, l'église et la patinoire; mais la vraie vie était sur la patinoire."
    # result: 1
    1..1
}
ok 1319 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "unicode character in hex format in string" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "pattern": "\\wcole"
    # }
    # data: "Les hivers de mon enfance étaient des saisons longues, longues. Nous vivions en trois lieux: l'école, l'église et la patinoire; mais la vraie vie était sur la patinoire."
    # result: 1
    1..1
}
ok 1320 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "unicode matching is case-sensitive" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1321 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "literal unicode character in json string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1322 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "unicode character in hex format in string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1323 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "ascii characters match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1324 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "ascii digits" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1325 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "ascii non-digits" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1326 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "pattern": "^\\d+$"
    # }
    # data: "৪২"
    # result: 1
    1..1
}
ok 1327 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "ascii digits" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1328 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "ascii non-digits" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1329 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1330 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "ascii character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1331 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "literal unicode character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1332 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "unicode character in hex format in string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1333 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "unicode matching is case-sensitive" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/L'ÉCOLE",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/L'ÉCOLE",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1334 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "ascii character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1335 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "literal unicode character in json string" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "additionalProperties": false,
    #   "patternProperties": {
    #     "\\wcole": true
    #   },
    #   "type": "object"
    # }
    # data: {
    #   "l'école": "pas de vraie vie"
    # }
    # result: 1
    1..1
}
ok 1336 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "unicode character in hex format in string" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "additionalProperties": false,
    #   "patternProperties": {
    #     "\\wcole": true
    #   },
    #   "type": "object"
    # }
    # data: {
    #   "l'école": "pas de vraie vie"
    # }
    # result: 1
    1..1
}
ok 1337 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "unicode matching is case-sensitive" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/L'ÉCOLE",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/L'ÉCOLE",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1338 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "literal unicode character in json string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/l'école",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/l'école",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1339 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "unicode character in hex format in string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/l'école",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/l'école",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1340 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "ascii characters match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1341 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "ascii digits" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1342 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "ascii non-digits" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/-%#",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/-%#",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1343 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "additionalProperties": false,
    #   "patternProperties": {
    #     "^\\d+$": true
    #   },
    #   "type": "object"
    # }
    # data: {
    #   "৪২": "khajit has wares if you have coin"
    # }
    # result: 1
    1..1
}
ok 1344 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "ascii digits" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1345 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "ascii non-digits" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/-%#",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/-%#",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1346 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 1347 - optional/float-overflow.json: "all integers are multiples of 0.5, if overflow is handled" - "valid if optional overflow handling is implemented" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 1348 - optional/id.json: "$id inside an enum is not a real identifier" - "exact match to enum, and type matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1349 - optional/id.json: "$id inside an enum is not a real identifier" - "match $ref to $id" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1350 - optional/id.json: "$id inside an enum is not a real identifier" - "no match on enum or $ref to $id" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/id_in_enum/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/draft2019-09/id/my_identifier.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/id_in_enum/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/draft2019-09/id/my_identifier.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 1351 - optional/no-schema.json: "validation without $schema" - "a 3-character string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1352 - optional/no-schema.json: "validation without $schema" - "a 1-character string is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1353 - optional/no-schema.json: "validation without $schema" - "a non-string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 1354 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches empty" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1355 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches single" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1356 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches two" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1357 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1358 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match two" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1359 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match one ASCII" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1360 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match two ASCII" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1361 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches empty" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1362 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches single" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1363 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches two" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1364 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "doesn't match one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/🐲",
    #       "keywordLocation": "/patternProperties/^🐲*$/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/🐲",
    #       "keywordLocation": "/patternProperties/^🐲*$/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1365 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "doesn't match two" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/🐲🐲",
    #       "keywordLocation": "/patternProperties/^🐲*$/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/🐲🐲",
    #       "keywordLocation": "/patternProperties/^🐲*$/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 1366 - optional/refOfUnknownKeyword.json: "reference of a root arbitrary keyword " - "match" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "EXCEPTION: bad reference to \"#/unknown-keyword\": not a schema",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "EXCEPTION: bad reference to \"#/unknown-keyword\": not a schema",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "properties": {
    #     "bar": {
    #       "$ref": "#/unknown-keyword"
    #     }
    #   },
    #   "unknown-keyword": {
    #     "type": "integer"
    #   }
    # }
    # data: {
    #   "bar": 3
    # }
    # result: null
    1..1
}
ok 1367 - optional/refOfUnknownKeyword.json: "reference of a root arbitrary keyword " - "mismatch" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "EXCEPTION: bad reference to \"#/unknown-keyword\": not a schema",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "EXCEPTION: bad reference to \"#/unknown-keyword\": not a schema",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 1368 - optional/refOfUnknownKeyword.json: "reference of an arbitrary keyword of a sub-schema" - "match" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "EXCEPTION: bad reference to \"#/properties/foo/unknown-keyword\": not a schema",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "EXCEPTION: bad reference to \"#/properties/foo/unknown-keyword\": not a schema",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "properties": {
    #     "bar": {
    #       "$ref": "#/properties/foo/unknown-keyword"
    #     },
    #     "foo": {
    #       "unknown-keyword": {
    #         "type": "integer"
    #       }
    #     }
    #   }
    # }
    # data: {
    #   "bar": 3
    # }
    # result: null
    1..1
}
ok 1369 - optional/refOfUnknownKeyword.json: "reference of an arbitrary keyword of a sub-schema" - "mismatch" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "EXCEPTION: bad reference to \"#/properties/foo/unknown-keyword\": not a schema",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "EXCEPTION: bad reference to \"#/properties/foo/unknown-keyword\": not a schema",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 1370 - optional/refOfUnknownKeyword.json: "reference internals of known non-applicator" - "match" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/base#/$ref",
    #       "error": "EXCEPTION: bad reference to \"/base#/examples/0\": not a schema",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/base#/$ref",
    #       "error": "EXCEPTION: bad reference to \"/base#/examples/0\": not a schema",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2019-09.t line 52.
    # expected true; got false
    # schema: {
    #   "$id": "/base",
    #   "$ref": "#/examples/0",
    #   "$schema": "https://json-schema.org/draft/2019-09/schema",
    #   "examples": [
    #     {
    #       "type": "string"
    #     }
    #   ]
    # }
    # data: "a string"
    # result: null
    1..1
}
ok 1371 - optional/refOfUnknownKeyword.json: "reference internals of known non-applicator" - "mismatch" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/base#/$ref",
    #       "error": "EXCEPTION: bad reference to \"/base#/examples/0\": not a schema",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/base#/$ref",
    #       "error": "EXCEPTION: bad reference to \"/base#/examples/0\": not a schema",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
# 
ok 1372 - optional/unknownKeyword.json: "$id inside an unknown keyword is not a real identifier" - "type matches second anyOf, which has a real schema in it" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1373 - optional/unknownKeyword.json: "$id inside an unknown keyword is not a real identifier" - "type matches non-schema in first anyOf" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/id_in_unknown0/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/id_in_unknown1/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/draft2019-09/unknownKeyword/my_identifier.json#/type",
    #       "error": "got null, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/2/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/id_in_unknown0/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/id_in_unknown1/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/draft2019-09/unknownKeyword/my_identifier.json#/type",
    #       "error": "got null, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/2/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1374 - optional/unknownKeyword.json: "$id inside an unknown keyword is not a real identifier" - "type matches non-schema in third anyOf" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/id_in_unknown0/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/id_in_unknown1/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/draft2019-09/unknownKeyword/my_identifier.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/2/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/id_in_unknown0/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/id_in_unknown1/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/draft2019-09/unknownKeyword/my_identifier.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/2/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1375 - no leaks in the main evaluator object
ok 1376 - no leaks in the short-circuiting evaluator object
1..1376
ok
# AUTHOR_TESTING: <undef>
# AUTOMATED_TESTING: 1
# EXTENDED_TESTING: <undef>
# NO_TODO: <undef>
# TEST_DIR: <undef>
# NO_SHORT_CIRCUIT: <undef>
# 
# 
# generated with:              Test::JSON::Schema::Acceptance 1.027
# with commit:                 e524505b8ac4a61c5dc162b51d68c2385a134706 (Test-JSON-Schema-Acceptance-1.026-16-ge524505)
# from repository:             git://github.com/json-schema-org/JSON-Schema-Test-Suite.git
# specification version:       draft2020-12
# using custom test directory: <base test directory>/optional/format
# optional tests included:     yes
# 
# filename                                  pass  todo-fail  fail
# ---------------------------------------------------------------
# date-time.json                              25          0     0
# date.json                                   47          0     0
# duration.json                               26          0     0
# ecmascript-regex.json                        0          1     0
# email.json                                  20          2     0
# hostname.json                               20          5     0
# idn-email.json                              10          0     0
# idn-hostname.json                           37         21     0
# ipv4.json                                   16          0     0
# ipv6.json                                   40          0     0
# iri-reference.json                          11          2     0
# iri.json                                    14          1     0
# json-pointer.json                           38          0     0
# regex.json                                   8          0     0
# relative-json-pointer.json                  18          0     0
# time.json                                   45          0     0
# unknown.json                                 7          0     0
# uri-reference.json                          13          0     0
# uri-template.json                            9          1     0
# uri.json                                    25          1     0
# uuid.json                                   21          0     0
# ---------------------------------------------------------------
# TOTAL                                      450         34     0
# 
# Congratulations, all non-optional tests are passing!
# 
t/zzz-acceptance-draft2020-12-format.t .. 
# running tests in /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/tests/draft2020-12/optional/format against draft2020-12...
# 
ok 1 - date-time.json: "validation of date-time strings" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 2 - date-time.json: "validation of date-time strings" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 3 - date-time.json: "validation of date-time strings" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 4 - date-time.json: "validation of date-time strings" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 5 - date-time.json: "validation of date-time strings" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 6 - date-time.json: "validation of date-time strings" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 7 - date-time.json: "validation of date-time strings" - "a valid date-time string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 8 - date-time.json: "validation of date-time strings" - "a valid date-time string without second fraction" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 9 - date-time.json: "validation of date-time strings" - "a valid date-time string with plus offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 10 - date-time.json: "validation of date-time strings" - "a valid date-time string with minus offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 11 - date-time.json: "validation of date-time strings" - "a valid date-time with a leap second, UTC" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 12 - date-time.json: "validation of date-time strings" - "a valid date-time with a leap second, with minus offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 13 - date-time.json: "validation of date-time strings" - "an invalid date-time past leap second, UTC" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 14 - date-time.json: "validation of date-time strings" - "an invalid date-time with leap second on a wrong minute, UTC" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 15 - date-time.json: "validation of date-time strings" - "an invalid date-time with leap second on a wrong hour, UTC" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 16 - date-time.json: "validation of date-time strings" - "an invalid day in date-time string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 17 - date-time.json: "validation of date-time strings" - "an invalid offset in date-time string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 18 - date-time.json: "validation of date-time strings" - "an invalid closing Z after time-zone offset" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 19 - date-time.json: "validation of date-time strings" - "an invalid date-time string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 20 - date-time.json: "validation of date-time strings" - "case-insensitive T and Z" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 21 - date-time.json: "validation of date-time strings" - "only RFC3339 not all of ISO 8601 are valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 22 - date-time.json: "validation of date-time strings" - "invalid non-padded month dates" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 23 - date-time.json: "validation of date-time strings" - "invalid non-padded day dates" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 24 - date-time.json: "validation of date-time strings" - "invalid non-ASCII '৪' (a Bengali 4) in date portion" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 25 - date-time.json: "validation of date-time strings" - "invalid non-ASCII '৪' (a Bengali 4) in time portion" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 26 - date.json: "validation of date strings" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 27 - date.json: "validation of date strings" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 28 - date.json: "validation of date strings" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 29 - date.json: "validation of date strings" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 30 - date.json: "validation of date strings" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 31 - date.json: "validation of date strings" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 32 - date.json: "validation of date strings" - "a valid date string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 33 - date.json: "validation of date strings" - "a valid date string with 31 days in January" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 34 - date.json: "validation of date strings" - "a invalid date string with 32 days in January" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 35 - date.json: "validation of date strings" - "a valid date string with 28 days in February (normal)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 36 - date.json: "validation of date strings" - "a invalid date string with 29 days in February (normal)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 37 - date.json: "validation of date strings" - "a valid date string with 29 days in February (leap)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 38 - date.json: "validation of date strings" - "a invalid date string with 30 days in February (leap)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 39 - date.json: "validation of date strings" - "a valid date string with 31 days in March" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 40 - date.json: "validation of date strings" - "a invalid date string with 32 days in March" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 41 - date.json: "validation of date strings" - "a valid date string with 30 days in April" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 42 - date.json: "validation of date strings" - "a invalid date string with 31 days in April" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 43 - date.json: "validation of date strings" - "a valid date string with 31 days in May" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 44 - date.json: "validation of date strings" - "a invalid date string with 32 days in May" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 45 - date.json: "validation of date strings" - "a valid date string with 30 days in June" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 46 - date.json: "validation of date strings" - "a invalid date string with 31 days in June" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 47 - date.json: "validation of date strings" - "a valid date string with 31 days in July" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 48 - date.json: "validation of date strings" - "a invalid date string with 32 days in July" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 49 - date.json: "validation of date strings" - "a valid date string with 31 days in August" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 50 - date.json: "validation of date strings" - "a invalid date string with 32 days in August" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 51 - date.json: "validation of date strings" - "a valid date string with 30 days in September" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 52 - date.json: "validation of date strings" - "a invalid date string with 31 days in September" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 53 - date.json: "validation of date strings" - "a valid date string with 31 days in October" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 54 - date.json: "validation of date strings" - "a invalid date string with 32 days in October" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 55 - date.json: "validation of date strings" - "a valid date string with 30 days in November" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 56 - date.json: "validation of date strings" - "a invalid date string with 31 days in November" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 57 - date.json: "validation of date strings" - "a valid date string with 31 days in December" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 58 - date.json: "validation of date strings" - "a invalid date string with 32 days in December" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 59 - date.json: "validation of date strings" - "a invalid date string with invalid month" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 60 - date.json: "validation of date strings" - "an invalid date string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 61 - date.json: "validation of date strings" - "only RFC3339 not all of ISO 8601 are valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 62 - date.json: "validation of date strings" - "non-padded month dates are not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 63 - date.json: "validation of date strings" - "non-padded day dates are not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 64 - date.json: "validation of date strings" - "invalid month" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 65 - date.json: "validation of date strings" - "invalid month-day combination" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 66 - date.json: "validation of date strings" - "2021 is not a leap year" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 67 - date.json: "validation of date strings" - "2020 is a leap year" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 68 - date.json: "validation of date strings" - "invalid non-ASCII '৪' (a Bengali 4)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 69 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: YYYYMMDD without dashes (2023-03-28)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 70 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: week number implicit day of week (2023-01-02)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 71 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: week number with day of week (2023-03-28)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 72 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: week number rollover to next year (2023-01-01)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 73 - duration.json: "validation of duration strings" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 74 - duration.json: "validation of duration strings" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 75 - duration.json: "validation of duration strings" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 76 - duration.json: "validation of duration strings" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 77 - duration.json: "validation of duration strings" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 78 - duration.json: "validation of duration strings" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 79 - duration.json: "validation of duration strings" - "a valid duration string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 80 - duration.json: "validation of duration strings" - "an invalid duration string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 81 - duration.json: "validation of duration strings" - "must start with P" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 82 - duration.json: "validation of duration strings" - "no elements present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 83 - duration.json: "validation of duration strings" - "no time elements present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 84 - duration.json: "validation of duration strings" - "no date or time elements present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 85 - duration.json: "validation of duration strings" - "elements out of order" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 86 - duration.json: "validation of duration strings" - "missing time separator" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 87 - duration.json: "validation of duration strings" - "time element in the date position" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 88 - duration.json: "validation of duration strings" - "four years duration" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 89 - duration.json: "validation of duration strings" - "zero time, in seconds" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 90 - duration.json: "validation of duration strings" - "zero time, in days" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 91 - duration.json: "validation of duration strings" - "one month duration" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 92 - duration.json: "validation of duration strings" - "one minute duration" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 93 - duration.json: "validation of duration strings" - "one and a half days, in hours" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 94 - duration.json: "validation of duration strings" - "one and a half days, in days and hours" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 95 - duration.json: "validation of duration strings" - "two weeks" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 96 - duration.json: "validation of duration strings" - "weeks cannot be combined with other units" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 97 - duration.json: "validation of duration strings" - "invalid non-ASCII '২' (a Bengali 2)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 98 - duration.json: "validation of duration strings" - "element without unit" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid duration",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 99 - ecmascript-regex.json: "\a is not an ECMA 262 control escape" - "when used as a pattern" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "regex"
    # }
    # data: "\\a"
    # result: 1
    1..1
}
# 
ok 100 - email.json: "validation of e-mail addresses" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 101 - email.json: "validation of e-mail addresses" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 102 - email.json: "validation of e-mail addresses" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 103 - email.json: "validation of e-mail addresses" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 104 - email.json: "validation of e-mail addresses" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 105 - email.json: "validation of e-mail addresses" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 106 - email.json: "validation of e-mail addresses" - "a valid e-mail address" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 107 - email.json: "validation of e-mail addresses" - "an invalid e-mail address" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 108 - email.json: "validation of e-mail addresses" - "tilde in local part is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 109 - email.json: "validation of e-mail addresses" - "tilde before local part is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 110 - email.json: "validation of e-mail addresses" - "tilde after local part is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 111 - email.json: "validation of e-mail addresses" - "a quoted string with a space in the local part is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 112 - email.json: "validation of e-mail addresses" - "a quoted string with a double dot in the local part is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 113 - email.json: "validation of e-mail addresses" - "a quoted string with a @ in the local part is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 114 - email.json: "validation of e-mail addresses" - "an IPv4-address-literal after the @ is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 115 - email.json: "validation of e-mail addresses" - "an IPv6-address-literal after the @ is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 116 - email.json: "validation of e-mail addresses" - "dot before local part is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 117 - email.json: "validation of e-mail addresses" - "dot after local part is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 118 - email.json: "validation of e-mail addresses" - "two separated dots inside local part are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 119 - email.json: "validation of e-mail addresses" - "two subsequent dots inside local part are not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 120 - email.json: "validation of e-mail addresses" - "an invalid domain" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "email"
    # }
    # data: "joe.bloggs@invalid=domain.com"
    # result: 1
    1..1
}
ok 121 - email.json: "validation of e-mail addresses" - "an invalid IPv4-address-literal" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "email"
    # }
    # data: "joe.bloggs@[127.0.0.300]"
    # result: 1
    1..1
}
# 
ok 122 - hostname.json: "validation of host names" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 123 - hostname.json: "validation of host names" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 124 - hostname.json: "validation of host names" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 125 - hostname.json: "validation of host names" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 126 - hostname.json: "validation of host names" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 127 - hostname.json: "validation of host names" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 128 - hostname.json: "validation of host names" - "a valid host name" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 129 - hostname.json: "validation of host names" - "a valid punycoded IDN hostname" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 130 - hostname.json: "validation of host names" - "a host name starting with an illegal character" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 131 - hostname.json: "validation of host names" - "a host name containing illegal characters" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 132 - hostname.json: "validation of host names" - "a host name with a component too long" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 133 - hostname.json: "validation of host names" - "starts with hyphen" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 134 - hostname.json: "validation of host names" - "ends with hyphen" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 135 - hostname.json: "validation of host names" - "starts with underscore" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 136 - hostname.json: "validation of host names" - "ends with underscore" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 137 - hostname.json: "validation of host names" - "contains underscore" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 138 - hostname.json: "validation of host names" - "maximum label length" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 139 - hostname.json: "validation of host names" - "exceeds maximum label length" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 140 - hostname.json: "validation of host names" - "single label" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "hostname"
    # }
    # data: "hostname"
    # result: 0
    1..1
}
ok 141 - hostname.json: "validation of host names" - "single label with hyphen" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "hostname"
    # }
    # data: "host-name"
    # result: 0
    1..1
}
ok 142 - hostname.json: "validation of host names" - "single label with digits" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "hostname"
    # }
    # data: "h0stn4me"
    # result: 0
    1..1
}
ok 143 - hostname.json: "validation of host names" - "single label starting with digit" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "hostname"
    # }
    # data: "1host"
    # result: 0
    1..1
}
ok 144 - hostname.json: "validation of host names" - "single label ending with digit" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "hostname"
    # }
    # data: "hostnam3"
    # result: 0
    1..1
}
ok 145 - hostname.json: "validation of host names" - "empty string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 146 - hostname.json: "validation of host names" - "single dot" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 147 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 148 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 149 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 150 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 151 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 152 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 153 - idn-email.json: "validation of an internationalized e-mail addresses" - "a valid idn e-mail (example@example.test in Hangul)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 154 - idn-email.json: "validation of an internationalized e-mail addresses" - "an invalid idn e-mail address" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 155 - idn-email.json: "validation of an internationalized e-mail addresses" - "a valid e-mail address" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 156 - idn-email.json: "validation of an internationalized e-mail addresses" - "an invalid e-mail address" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 157 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 158 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 159 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 160 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 161 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 162 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 163 - idn-hostname.json: "validation of internationalized host names" - "a valid host name (example.test in Hangul)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 164 - idn-hostname.json: "validation of internationalized host names" - "illegal first char U+302E Hangul single dot tone mark" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 165 - idn-hostname.json: "validation of internationalized host names" - "contains illegal char U+302E Hangul single dot tone mark" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "idn-hostname"
    # }
    # data: "실〮례.테스트"
    # result: 1
    1..1
}
ok 166 - idn-hostname.json: "validation of internationalized host names" - "a host name with a component too long" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 167 - idn-hostname.json: "validation of internationalized host names" - "invalid label, correct Punycode" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 168 - idn-hostname.json: "validation of internationalized host names" - "valid Chinese Punycode" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "idn-hostname"
    # }
    # data: "xn--ihqwcrb4cv8a8dqg056pqjye"
    # result: 0
    1..1
}
ok 169 - idn-hostname.json: "validation of internationalized host names" - "invalid Punycode" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 170 - idn-hostname.json: "validation of internationalized host names" - "U-label contains "--" in the 3rd and 4th position" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 171 - idn-hostname.json: "validation of internationalized host names" - "U-label starts with a dash" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 172 - idn-hostname.json: "validation of internationalized host names" - "U-label ends with a dash" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 173 - idn-hostname.json: "validation of internationalized host names" - "U-label starts and ends with a dash" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 174 - idn-hostname.json: "validation of internationalized host names" - "Begins with a Spacing Combining Mark" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 175 - idn-hostname.json: "validation of internationalized host names" - "Begins with a Nonspacing Mark" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 176 - idn-hostname.json: "validation of internationalized host names" - "Begins with an Enclosing Mark" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 177 - idn-hostname.json: "validation of internationalized host names" - "Exceptions that are PVALID, left-to-right chars" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "idn-hostname"
    # }
    # data: "ßς་〇"
    # result: 0
    1..1
}
ok 178 - idn-hostname.json: "validation of internationalized host names" - "Exceptions that are PVALID, right-to-left chars" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "idn-hostname"
    # }
    # data: "۽۾"
    # result: 0
    1..1
}
ok 179 - idn-hostname.json: "validation of internationalized host names" - "Exceptions that are DISALLOWED, right-to-left chars" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 180 - idn-hostname.json: "validation of internationalized host names" - "Exceptions that are DISALLOWED, left-to-right chars" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 181 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with no preceding 'l'" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 182 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with nothing preceding" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 183 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with no following 'l'" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 184 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with nothing following" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 185 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with surrounding 'l's" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "idn-hostname"
    # }
    # data: "l·l"
    # result: 0
    1..1
}
ok 186 - idn-hostname.json: "validation of internationalized host names" - "Greek KERAIA not followed by Greek" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 187 - idn-hostname.json: "validation of internationalized host names" - "Greek KERAIA not followed by anything" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 188 - idn-hostname.json: "validation of internationalized host names" - "Greek KERAIA followed by Greek" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "idn-hostname"
    # }
    # data: "α͵β"
    # result: 0
    1..1
}
ok 189 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERESH not preceded by Hebrew" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 190 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERESH not preceded by anything" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 191 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERESH preceded by Hebrew" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "idn-hostname"
    # }
    # data: "א׳ב"
    # result: 0
    1..1
}
ok 192 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERSHAYIM not preceded by Hebrew" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 193 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERSHAYIM not preceded by anything" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 194 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERSHAYIM preceded by Hebrew" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "idn-hostname"
    # }
    # data: "א״ב"
    # result: 0
    1..1
}
ok 195 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with no Hiragana, Katakana, or Han" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 196 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with no other characters" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 197 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with Hiragana" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "idn-hostname"
    # }
    # data: "・ぁ"
    # result: 0
    1..1
}
ok 198 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with Katakana" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "idn-hostname"
    # }
    # data: "・ァ"
    # result: 0
    1..1
}
ok 199 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with Han" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "idn-hostname"
    # }
    # data: "・丈"
    # result: 0
    1..1
}
ok 200 - idn-hostname.json: "validation of internationalized host names" - "Arabic-Indic digits mixed with Extended Arabic-Indic digits" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 201 - idn-hostname.json: "validation of internationalized host names" - "Arabic-Indic digits not mixed with Extended Arabic-Indic digits" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "idn-hostname"
    # }
    # data: "ب٠ب"
    # result: 0
    1..1
}
ok 202 - idn-hostname.json: "validation of internationalized host names" - "Extended Arabic-Indic digits not mixed with Arabic-Indic digits" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "idn-hostname"
    # }
    # data: "۰0"
    # result: 0
    1..1
}
ok 203 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH JOINER not preceded by Virama" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 204 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH JOINER not preceded by anything" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 205 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH JOINER preceded by Virama" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "idn-hostname"
    # }
    # data: "क्‍ष"
    # result: 0
    1..1
}
ok 206 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH NON-JOINER preceded by Virama" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "idn-hostname"
    # }
    # data: "क्‌ष"
    # result: 0
    1..1
}
ok 207 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH NON-JOINER not preceded by Virama but matches regexp" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "idn-hostname"
    # }
    # data: "بي‌بي"
    # result: 0
    1..1
}
ok 208 - idn-hostname.json: "validation of internationalized host names" - "single label" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "idn-hostname"
    # }
    # data: "hostname"
    # result: 0
    1..1
}
ok 209 - idn-hostname.json: "validation of internationalized host names" - "single label with hyphen" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "idn-hostname"
    # }
    # data: "host-name"
    # result: 0
    1..1
}
ok 210 - idn-hostname.json: "validation of internationalized host names" - "single label with digits" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "idn-hostname"
    # }
    # data: "h0stn4me"
    # result: 0
    1..1
}
ok 211 - idn-hostname.json: "validation of internationalized host names" - "single label starting with digit" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "idn-hostname"
    # }
    # data: "1host"
    # result: 0
    1..1
}
ok 212 - idn-hostname.json: "validation of internationalized host names" - "single label ending with digit" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "idn-hostname"
    # }
    # data: "hostnam3"
    # result: 0
    1..1
}
ok 213 - idn-hostname.json: "validation of internationalized host names" - "empty string" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 214 - idn-hostname.json: "validation of internationalized host names" - "single dot" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
# 
ok 215 - ipv4.json: "validation of IP addresses" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 216 - ipv4.json: "validation of IP addresses" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 217 - ipv4.json: "validation of IP addresses" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 218 - ipv4.json: "validation of IP addresses" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 219 - ipv4.json: "validation of IP addresses" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 220 - ipv4.json: "validation of IP addresses" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 221 - ipv4.json: "validation of IP addresses" - "a valid IP address" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 222 - ipv4.json: "validation of IP addresses" - "an IP address with too many components" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 223 - ipv4.json: "validation of IP addresses" - "an IP address with out-of-range values" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 224 - ipv4.json: "validation of IP addresses" - "an IP address without 4 components" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 225 - ipv4.json: "validation of IP addresses" - "an IP address as an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 226 - ipv4.json: "validation of IP addresses" - "an IP address as an integer (decimal)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 227 - ipv4.json: "validation of IP addresses" - "invalid leading zeroes, as they are treated as octals" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 228 - ipv4.json: "validation of IP addresses" - "value without leading zero is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 229 - ipv4.json: "validation of IP addresses" - "invalid non-ASCII '২' (a Bengali 2)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 230 - ipv4.json: "validation of IP addresses" - "netmask is not a part of ipv4 address" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 231 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 232 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 233 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 234 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 235 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 236 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 237 - ipv6.json: "validation of IPv6 addresses" - "a valid IPv6 address" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 238 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address with out-of-range values" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 239 - ipv6.json: "validation of IPv6 addresses" - "trailing 4 hex symbols is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 240 - ipv6.json: "validation of IPv6 addresses" - "trailing 5 hex symbols is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 241 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address with too many components" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 242 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address containing illegal characters" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 243 - ipv6.json: "validation of IPv6 addresses" - "no digits is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 244 - ipv6.json: "validation of IPv6 addresses" - "leading colons is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 245 - ipv6.json: "validation of IPv6 addresses" - "trailing colons is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 246 - ipv6.json: "validation of IPv6 addresses" - "missing leading octet is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 247 - ipv6.json: "validation of IPv6 addresses" - "missing trailing octet is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 248 - ipv6.json: "validation of IPv6 addresses" - "missing leading octet with omitted octets later" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 249 - ipv6.json: "validation of IPv6 addresses" - "single set of double colons in the middle is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 250 - ipv6.json: "validation of IPv6 addresses" - "two sets of double colons is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 251 - ipv6.json: "validation of IPv6 addresses" - "mixed format with the ipv4 section as decimal octets" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 252 - ipv6.json: "validation of IPv6 addresses" - "mixed format with double colons between the sections" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 253 - ipv6.json: "validation of IPv6 addresses" - "mixed format with ipv4 section with octet out of range" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 254 - ipv6.json: "validation of IPv6 addresses" - "mixed format with ipv4 section with a hex octet" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 255 - ipv6.json: "validation of IPv6 addresses" - "mixed format with leading double colons (ipv4-mapped ipv6 address)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 256 - ipv6.json: "validation of IPv6 addresses" - "triple colons is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 257 - ipv6.json: "validation of IPv6 addresses" - "8 octets" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 258 - ipv6.json: "validation of IPv6 addresses" - "insufficient octets without double colons" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 259 - ipv6.json: "validation of IPv6 addresses" - "no colons is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 260 - ipv6.json: "validation of IPv6 addresses" - "ipv4 is not ipv6" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 261 - ipv6.json: "validation of IPv6 addresses" - "ipv4 segment must have 4 octets" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 262 - ipv6.json: "validation of IPv6 addresses" - "leading whitespace is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 263 - ipv6.json: "validation of IPv6 addresses" - "trailing whitespace is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 264 - ipv6.json: "validation of IPv6 addresses" - "netmask is not a part of ipv6 address" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 265 - ipv6.json: "validation of IPv6 addresses" - "zone id is not a part of ipv6 address" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 266 - ipv6.json: "validation of IPv6 addresses" - "a long valid ipv6" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 267 - ipv6.json: "validation of IPv6 addresses" - "a long invalid ipv6, below length limit, first" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 268 - ipv6.json: "validation of IPv6 addresses" - "a long invalid ipv6, below length limit, second" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 269 - ipv6.json: "validation of IPv6 addresses" - "invalid non-ASCII '৪' (a Bengali 4)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 270 - ipv6.json: "validation of IPv6 addresses" - "invalid non-ASCII '৪' (a Bengali 4) in the IPv4 portion" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 271 - iri-reference.json: "validation of IRI References" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 272 - iri-reference.json: "validation of IRI References" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 273 - iri-reference.json: "validation of IRI References" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 274 - iri-reference.json: "validation of IRI References" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 275 - iri-reference.json: "validation of IRI References" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 276 - iri-reference.json: "validation of IRI References" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 277 - iri-reference.json: "validation of IRI References" - "a valid IRI" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 278 - iri-reference.json: "validation of IRI References" - "a valid protocol-relative IRI Reference" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 279 - iri-reference.json: "validation of IRI References" - "a valid relative IRI Reference" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 280 - iri-reference.json: "validation of IRI References" - "an invalid IRI Reference" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "iri-reference"
    # }
    # data: "\\\\WINDOWS\\filëßåré"
    # result: 1
    1..1
}
ok 281 - iri-reference.json: "validation of IRI References" - "a valid IRI Reference" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 282 - iri-reference.json: "validation of IRI References" - "a valid IRI fragment" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 283 - iri-reference.json: "validation of IRI References" - "an invalid IRI fragment" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "iri-reference"
    # }
    # data: "#ƒräg\\mênt"
    # result: 1
    1..1
}
# 
ok 284 - iri.json: "validation of IRIs" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 285 - iri.json: "validation of IRIs" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 286 - iri.json: "validation of IRIs" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 287 - iri.json: "validation of IRIs" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 288 - iri.json: "validation of IRIs" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 289 - iri.json: "validation of IRIs" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 290 - iri.json: "validation of IRIs" - "a valid IRI with anchor tag" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 291 - iri.json: "validation of IRIs" - "a valid IRI with anchor tag and parentheses" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 292 - iri.json: "validation of IRIs" - "a valid IRI with URL-encoded stuff" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 293 - iri.json: "validation of IRIs" - "a valid IRI with many special characters" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 294 - iri.json: "validation of IRIs" - "a valid IRI based on IPv6" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 295 - iri.json: "validation of IRIs" - "an invalid IRI based on IPv6" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "iri"
    # }
    # data: "http://2001:0db8:85a3:0000:0000:8a2e:0370:7334"
    # result: 1
    1..1
}
ok 296 - iri.json: "validation of IRIs" - "an invalid relative IRI Reference" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid iri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid iri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 297 - iri.json: "validation of IRIs" - "an invalid IRI" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid iri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid iri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 298 - iri.json: "validation of IRIs" - "an invalid IRI though valid IRI reference" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid iri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid iri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 299 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 300 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 301 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 302 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 303 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 304 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 305 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "a valid JSON-pointer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 306 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (~ not escaped)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 307 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer with empty segment" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 308 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer with the last empty segment" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 309 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#1" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 310 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#2" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 311 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#3" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 312 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#4" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 313 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#5" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 314 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#6" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 315 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#7" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 316 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#8" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 317 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#9" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 318 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#10" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 319 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#11" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 320 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#12" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 321 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer used adding to the last array position" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 322 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (- used as object member name)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 323 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (multiple escaped characters)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 324 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (escaped with fraction part) \#1" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 325 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (escaped with fraction part) \#2" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 326 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#1" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 327 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#2" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 328 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#3" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 329 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (some escaped, but not all) \#1" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 330 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (some escaped, but not all) \#2" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 331 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (wrong escape character) \#1" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 332 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (wrong escape character) \#2" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 333 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (multiple characters not escaped)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 334 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#1" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 335 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#2" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 336 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#3" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 337 - regex.json: "validation of regular expressions" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 338 - regex.json: "validation of regular expressions" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 339 - regex.json: "validation of regular expressions" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 340 - regex.json: "validation of regular expressions" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 341 - regex.json: "validation of regular expressions" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 342 - regex.json: "validation of regular expressions" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 343 - regex.json: "validation of regular expressions" - "a valid regular expression" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 344 - regex.json: "validation of regular expressions" - "a regular expression with unclosed parens is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid regex",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid regex",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 345 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 346 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 347 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 348 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 349 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 350 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 351 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid upwards RJP" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 352 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid downwards RJP" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 353 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid up and then down RJP, with array index" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 354 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid RJP taking the member or index name" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 355 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "an invalid RJP that is a valid JSON Pointer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 356 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "negative prefix" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 357 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "explicit positive prefix" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 358 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "\#\# is not a valid json-pointer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 359 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "zero cannot be followed by other digits, plus json-pointer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 360 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "zero cannot be followed by other digits, plus octothorpe" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 361 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "empty string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 362 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "multi-digit integer prefix" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 363 - time.json: "validation of time strings" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 364 - time.json: "validation of time strings" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 365 - time.json: "validation of time strings" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 366 - time.json: "validation of time strings" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 367 - time.json: "validation of time strings" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 368 - time.json: "validation of time strings" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 369 - time.json: "validation of time strings" - "a valid time string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 370 - time.json: "validation of time strings" - "invalid time string with extra leading zeros" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 371 - time.json: "validation of time strings" - "invalid time string with no leading zero for single digit" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 372 - time.json: "validation of time strings" - "hour, minute, second must be two digits" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 373 - time.json: "validation of time strings" - "a valid time string with leap second, Zulu" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 374 - time.json: "validation of time strings" - "invalid leap second, Zulu (wrong hour)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 375 - time.json: "validation of time strings" - "invalid leap second, Zulu (wrong minute)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 376 - time.json: "validation of time strings" - "valid leap second, zero time-offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 377 - time.json: "validation of time strings" - "invalid leap second, zero time-offset (wrong hour)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 378 - time.json: "validation of time strings" - "invalid leap second, zero time-offset (wrong minute)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 379 - time.json: "validation of time strings" - "valid leap second, positive time-offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 380 - time.json: "validation of time strings" - "valid leap second, large positive time-offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 381 - time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong hour)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 382 - time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong minute)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 383 - time.json: "validation of time strings" - "valid leap second, negative time-offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 384 - time.json: "validation of time strings" - "valid leap second, large negative time-offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 385 - time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong hour)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 386 - time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong minute)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 387 - time.json: "validation of time strings" - "a valid time string with second fraction" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 388 - time.json: "validation of time strings" - "a valid time string with precise second fraction" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 389 - time.json: "validation of time strings" - "a valid time string with plus offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 390 - time.json: "validation of time strings" - "a valid time string with minus offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 391 - time.json: "validation of time strings" - "hour, minute in time-offset must be two digits" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 392 - time.json: "validation of time strings" - "a valid time string with case-insensitive Z" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 393 - time.json: "validation of time strings" - "an invalid time string with invalid hour" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 394 - time.json: "validation of time strings" - "an invalid time string with invalid minute" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 395 - time.json: "validation of time strings" - "an invalid time string with invalid second" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 396 - time.json: "validation of time strings" - "an invalid time string with invalid leap second (wrong hour)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 397 - time.json: "validation of time strings" - "an invalid time string with invalid leap second (wrong minute)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 398 - time.json: "validation of time strings" - "an invalid time string with invalid time numoffset hour" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 399 - time.json: "validation of time strings" - "an invalid time string with invalid time numoffset minute" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 400 - time.json: "validation of time strings" - "an invalid time string with invalid time with both Z and numoffset" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 401 - time.json: "validation of time strings" - "an invalid offset indicator" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 402 - time.json: "validation of time strings" - "only RFC3339 not all of ISO 8601 are valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 403 - time.json: "validation of time strings" - "no time offset" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 404 - time.json: "validation of time strings" - "no time offset with second fraction" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 405 - time.json: "validation of time strings" - "invalid non-ASCII '২' (a Bengali 2)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 406 - time.json: "validation of time strings" - "offset not starting with plus or minus" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 407 - time.json: "validation of time strings" - "contains letters" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 408 - unknown.json: "unknown format" - "unknown formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 409 - unknown.json: "unknown format" - "unknown formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 410 - unknown.json: "unknown format" - "unknown formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 411 - unknown.json: "unknown format" - "unknown formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 412 - unknown.json: "unknown format" - "unknown formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 413 - unknown.json: "unknown format" - "unknown formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 414 - unknown.json: "unknown format" - "unknown formats ignore strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 415 - uri-reference.json: "validation of URI References" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 416 - uri-reference.json: "validation of URI References" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 417 - uri-reference.json: "validation of URI References" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 418 - uri-reference.json: "validation of URI References" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 419 - uri-reference.json: "validation of URI References" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 420 - uri-reference.json: "validation of URI References" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 421 - uri-reference.json: "validation of URI References" - "a valid URI" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 422 - uri-reference.json: "validation of URI References" - "a valid protocol-relative URI Reference" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 423 - uri-reference.json: "validation of URI References" - "a valid relative URI Reference" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 424 - uri-reference.json: "validation of URI References" - "an invalid URI Reference" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri-reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri-reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 425 - uri-reference.json: "validation of URI References" - "a valid URI Reference" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 426 - uri-reference.json: "validation of URI References" - "a valid URI fragment" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 427 - uri-reference.json: "validation of URI References" - "an invalid URI fragment" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri-reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri-reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 428 - uri-template.json: "format: uri-template" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 429 - uri-template.json: "format: uri-template" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 430 - uri-template.json: "format: uri-template" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 431 - uri-template.json: "format: uri-template" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 432 - uri-template.json: "format: uri-template" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 433 - uri-template.json: "format: uri-template" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 434 - uri-template.json: "format: uri-template" - "a valid uri-template" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 435 - uri-template.json: "format: uri-template" - "an invalid uri-template" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "uri-template"
    # }
    # data: "http://example.com/dictionary/{term:1}/{term"
    # result: 1
    1..1
}
ok 436 - uri-template.json: "format: uri-template" - "a valid uri-template without variables" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 437 - uri-template.json: "format: uri-template" - "a valid relative uri-template" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
# 
ok 438 - uri.json: "validation of URIs" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 439 - uri.json: "validation of URIs" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 440 - uri.json: "validation of URIs" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 441 - uri.json: "validation of URIs" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 442 - uri.json: "validation of URIs" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 443 - uri.json: "validation of URIs" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 444 - uri.json: "validation of URIs" - "a valid URL with anchor tag" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 445 - uri.json: "validation of URIs" - "a valid URL with anchor tag and parentheses" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 446 - uri.json: "validation of URIs" - "a valid URL with URL-encoded stuff" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 447 - uri.json: "validation of URIs" - "a valid puny-coded URL " {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 448 - uri.json: "validation of URIs" - "a valid URL with many special characters" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 449 - uri.json: "validation of URIs" - "a valid URL based on IPv4" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 450 - uri.json: "validation of URIs" - "a valid URL with ftp scheme" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 451 - uri.json: "validation of URIs" - "a valid URL for a simple text file" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 452 - uri.json: "validation of URIs" - "a valid URL " {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 453 - uri.json: "validation of URIs" - "a valid mailto URI" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 454 - uri.json: "validation of URIs" - "a valid newsgroup URI" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 455 - uri.json: "validation of URIs" - "a valid tel URI" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 456 - uri.json: "validation of URIs" - "a valid URN" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 457 - uri.json: "validation of URIs" - "an invalid protocol-relative URI Reference" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 458 - uri.json: "validation of URIs" - "an invalid relative URI Reference" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 459 - uri.json: "validation of URIs" - "an invalid URI" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 460 - uri.json: "validation of URIs" - "an invalid URI though valid URI reference" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 461 - uri.json: "validation of URIs" - "an invalid URI with spaces" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 462 - uri.json: "validation of URIs" - "an invalid URI with spaces and missing scheme" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 463 - uri.json: "validation of URIs" - "an invalid URI with comma in scheme" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12-format.t line 68.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "format": "uri"
    # }
    # data: "bar,baz:foo"
    # result: 1
    1..1
}
# 
ok 464 - uuid.json: "uuid format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 465 - uuid.json: "uuid format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 466 - uuid.json: "uuid format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 467 - uuid.json: "uuid format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 468 - uuid.json: "uuid format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 469 - uuid.json: "uuid format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 470 - uuid.json: "uuid format" - "all upper-case" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 471 - uuid.json: "uuid format" - "all lower-case" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 472 - uuid.json: "uuid format" - "mixed case" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 473 - uuid.json: "uuid format" - "all zeroes is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 474 - uuid.json: "uuid format" - "wrong length" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 475 - uuid.json: "uuid format" - "missing section" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 476 - uuid.json: "uuid format" - "bad characters (not hex)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 477 - uuid.json: "uuid format" - "no dashes" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 478 - uuid.json: "uuid format" - "too few dashes" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 479 - uuid.json: "uuid format" - "too many dashes" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 480 - uuid.json: "uuid format" - "dashes in the wrong spot" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uuid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 481 - uuid.json: "uuid format" - "valid version 4" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 482 - uuid.json: "uuid format" - "valid version 5" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 483 - uuid.json: "uuid format" - "hypothetical version 6" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 484 - uuid.json: "uuid format" - "hypothetical version 15" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 485 - no leaks in the main evaluator object
ok 486 - no leaks in the short-circuiting evaluator object
1..486
ok
# AUTHOR_TESTING: <undef>
# AUTOMATED_TESTING: 1
# EXTENDED_TESTING: <undef>
# NO_TODO: <undef>
# TEST_DIR: <undef>
# NO_SHORT_CIRCUIT: <undef>
# 
# 
# generated with:              Test::JSON::Schema::Acceptance 1.027
# with commit:                 e524505b8ac4a61c5dc162b51d68c2385a134706 (Test-JSON-Schema-Acceptance-1.026-16-ge524505)
# from repository:             git://github.com/json-schema-org/JSON-Schema-Test-Suite.git
# specification version:       draft2020-12
# optional tests included:     yes
# skipping directory:          optional/format
# 
# filename                                  pass  todo-fail  fail
# ---------------------------------------------------------------
# additionalProperties.json                   21          0     0
# allOf.json                                  30          0     0
# anchor.json                                  8          0     0
# anyOf.json                                  18          0     0
# boolean_schema.json                         18          0     0
# const.json                                  50          0     0
# contains.json                               21          0     0
# content.json                                18          0     0
# default.json                                 7          0     0
# defs.json                                    2          0     0
# dependentRequired.json                      20          0     0
# dependentSchemas.json                       20          0     0
# dynamicRef.json                             42          0     0
# enum.json                                   45          0     0
# exclusiveMaximum.json                        4          0     0
# exclusiveMinimum.json                        4          0     0
# format.json                                133          0     0
# if-then-else.json                           26          0     0
# infinite-loop-detection.json                 2          0     0
# items.json                                  29          0     0
# maxContains.json                            12          0     0
# maxItems.json                                6          0     0
# maxLength.json                               7          0     0
# maxProperties.json                          10          0     0
# maximum.json                                 8          0     0
# minContains.json                            28          0     0
# minItems.json                                6          0     0
# minLength.json                               7          0     0
# minProperties.json                           8          0     0
# minimum.json                                11          0     0
# multipleOf.json                             10          0     0
# not.json                                    40          0     0
# oneOf.json                                  27          0     0
# pattern.json                                 9          0     0
# patternProperties.json                      23          0     0
# prefixItems.json                            11          0     0
# properties.json                             28          0     0
# propertyNames.json                          10          0     0
# ref.json                                    77          0     0
# refRemote.json                              31          0     0
# required.json                               16          0     0
# type.json                                   80          0     0
# unevaluatedItems.json                       66          0     0
# unevaluatedProperties.json                 122          0     0
# uniqueItems.json                            69          0     0
# vocabulary.json                              5          0     0
# optional/anchor.json                         4          0     0
# optional/bignum.json                         9          0     0
# optional/cross-draft.json                    1          0     0
# optional/dependencies-compatibility.json    22         14     0
# optional/dynamicRef.json                     2          0     0
# optional/ecmascript-regex.json              60         14     0
# optional/float-overflow.json                 1          0     0
# optional/format-assertion.json               4          0     0
# optional/id.json                             3          0     0
# optional/no-schema.json                      3          0     0
# optional/non-bmp-regex.json                 12          0     0
# optional/refOfUnknownKeyword.json            3          3     0
# optional/unknownKeyword.json                 3          0     0
# ---------------------------------------------------------------
# TOTAL                                     1372         31     0
# 
# Congratulations, all non-optional tests are passing!
# 
t/zzz-acceptance-draft2020-12.t ......... 
# adding resources from /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/remotes with the base URI "http://localhost:1234"...
# running tests in /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/tests/draft2020-12 against draft2020-12...
# 
ok 1 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "no additional properties is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 2 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "an additional property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 3 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 4 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 5 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 6 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "patternProperties are not additional properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 7 - additionalProperties.json: "non-ASCII pattern with additionalProperties" - "matching the pattern is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 8 - additionalProperties.json: "non-ASCII pattern with additionalProperties" - "not matching the pattern is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/élmény",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/élmény",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 9 - additionalProperties.json: "additionalProperties with schema" - "no additional properties is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 10 - additionalProperties.json: "additionalProperties with schema" - "an additional valid property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 11 - additionalProperties.json: "additionalProperties with schema" - "an additional invalid property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 12 - additionalProperties.json: "additionalProperties can exist by itself" - "an additional valid property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 13 - additionalProperties.json: "additionalProperties can exist by itself" - "an additional invalid property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 14 - additionalProperties.json: "additionalProperties are allowed by default" - "additional properties are allowed" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 15 - additionalProperties.json: "additionalProperties does not look in applicators" - "properties defined in allOf are not examined" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 16 - additionalProperties.json: "additionalProperties with null valued instance properties" - "allows null values" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 17 - additionalProperties.json: "additionalProperties with propertyNames" - "Valid against both keywords" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 18 - additionalProperties.json: "additionalProperties with propertyNames" - "Valid against propertyNames, but not additionalProperties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/pear",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/pear",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 19 - additionalProperties.json: "dependentSchemas with additionalProperties" - "additionalProperties doesn't consider dependentSchemas" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 20 - additionalProperties.json: "dependentSchemas with additionalProperties" - "additionalProperties can't see bar" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 21 - additionalProperties.json: "dependentSchemas with additionalProperties" - "additionalProperties can't see bar even when foo2 is present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 22 - allOf.json: "allOf" - "allOf" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 23 - allOf.json: "allOf" - "mismatch second" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 24 - allOf.json: "allOf" - "mismatch first" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/required"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/required"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 25 - allOf.json: "allOf" - "wrong type" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/properties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/properties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 26 - allOf.json: "allOf with base schema" - "valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 27 - allOf.json: "allOf with base schema" - "mismatch base schema" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 28 - allOf.json: "allOf with base schema" - "mismatch first allOf" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 29 - allOf.json: "allOf with base schema" - "mismatch second allOf" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: baz",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/required"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: baz",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/required"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 30 - allOf.json: "allOf with base schema" - "mismatch both" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "object is missing property: baz",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/required"
    #     },
    #     {
    #       "error": "subschemas 0, 1 are not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 31 - allOf.json: "allOf simple types" - "valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 32 - allOf.json: "allOf simple types" - "mismatch one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 30",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/maximum"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 30",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/maximum"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 33 - allOf.json: "allOf with boolean schemas, all true" - "any value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 34 - allOf.json: "allOf with boolean schemas, some false" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 35 - allOf.json: "allOf with boolean schemas, all false" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1"
    #     },
    #     {
    #       "error": "subschemas 0, 1 are not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 36 - allOf.json: "allOf with one empty schema" - "any data is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 37 - allOf.json: "allOf with two empty schemas" - "any data is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 38 - allOf.json: "allOf with the first empty schema" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 39 - allOf.json: "allOf with the first empty schema" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/type"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/type"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 40 - allOf.json: "allOf with the last empty schema" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 41 - allOf.json: "allOf with the last empty schema" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 42 - allOf.json: "nested allOf, to check validation semantics" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 43 - allOf.json: "nested allOf, to check validation semantics" - "anything non-null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/allOf/0/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/allOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/allOf/0/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/allOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 44 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: false, oneOf: false" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 45 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: false, oneOf: true" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 46 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: true, oneOf: false" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 47 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: true, oneOf: true" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 48 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: false, oneOf: false" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 49 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: false, oneOf: true" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 50 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: true, oneOf: false" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 51 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: true, oneOf: true" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 52 - anchor.json: "Location-independent identifier" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 53 - anchor.json: "Location-independent identifier" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 54 - anchor.json: "Location-independent identifier with absolute URI" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 55 - anchor.json: "Location-independent identifier with absolute URI" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/bar#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/bar#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 56 - anchor.json: "Location-independent identifier with base URI change in subschema" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 57 - anchor.json: "Location-independent identifier with base URI change in subschema" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested.json#/$defs/B/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested.json#/$defs/B/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 58 - anchor.json: "same $anchor with different base uri" - "$ref resolves to /$defs/A/allOf/1" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 59 - anchor.json: "same $anchor with different base uri" - "$ref does not resolve to /$defs/A/allOf/0" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/child1#/allOf/1/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/child1#/allOf/1/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 60 - anyOf.json: "anyOf" - "first anyOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 61 - anyOf.json: "anyOf" - "second anyOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 62 - anyOf.json: "anyOf" - "both anyOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 63 - anyOf.json: "anyOf" - "neither anyOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/minimum"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/minimum"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 64 - anyOf.json: "anyOf with base schema" - "mismatch base schema" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 65 - anyOf.json: "anyOf with base schema" - "one anyOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 66 - anyOf.json: "anyOf with base schema" - "both anyOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/maxLength"
    #     },
    #     {
    #       "error": "length is less than 4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/minLength"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/maxLength"
    #     },
    #     {
    #       "error": "length is less than 4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/minLength"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 67 - anyOf.json: "anyOf with boolean schemas, all true" - "any value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 68 - anyOf.json: "anyOf with boolean schemas, some true" - "any value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 69 - anyOf.json: "anyOf with boolean schemas, all false" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 70 - anyOf.json: "anyOf complex types" - "first anyOf valid (complex)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 71 - anyOf.json: "anyOf complex types" - "second anyOf valid (complex)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 72 - anyOf.json: "anyOf complex types" - "both anyOf valid (complex)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 73 - anyOf.json: "anyOf complex types" - "neither anyOf valid (complex)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/anyOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/properties"
    #     },
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/properties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/anyOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/properties"
    #     },
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/properties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 74 - anyOf.json: "anyOf with one empty schema" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 75 - anyOf.json: "anyOf with one empty schema" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 76 - anyOf.json: "nested anyOf, to check validation semantics" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 77 - anyOf.json: "nested anyOf, to check validation semantics" - "anything non-null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/anyOf/0/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/anyOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/anyOf/0/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/anyOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 78 - boolean_schema.json: "boolean schema 'true'" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 79 - boolean_schema.json: "boolean schema 'true'" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 80 - boolean_schema.json: "boolean schema 'true'" - "boolean true is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 81 - boolean_schema.json: "boolean schema 'true'" - "boolean false is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 82 - boolean_schema.json: "boolean schema 'true'" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 83 - boolean_schema.json: "boolean schema 'true'" - "object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 84 - boolean_schema.json: "boolean schema 'true'" - "empty object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 85 - boolean_schema.json: "boolean schema 'true'" - "array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 86 - boolean_schema.json: "boolean schema 'true'" - "empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 87 - boolean_schema.json: "boolean schema 'false'" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 88 - boolean_schema.json: "boolean schema 'false'" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 89 - boolean_schema.json: "boolean schema 'false'" - "boolean true is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 90 - boolean_schema.json: "boolean schema 'false'" - "boolean false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 91 - boolean_schema.json: "boolean schema 'false'" - "null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 92 - boolean_schema.json: "boolean schema 'false'" - "object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 93 - boolean_schema.json: "boolean schema 'false'" - "empty object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 94 - boolean_schema.json: "boolean schema 'false'" - "array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 95 - boolean_schema.json: "boolean schema 'false'" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 96 - const.json: "const validation" - "same value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 97 - const.json: "const validation" - "another value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 98 - const.json: "const validation" - "another type is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 99 - const.json: "const with object" - "same object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 100 - const.json: "const with object" - "same object with different property order is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 101 - const.json: "const with object" - "another object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 102 - const.json: "const with object" - "another type is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 103 - const.json: "const with array" - "same array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 104 - const.json: "const with array" - "another array item is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs object)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs object)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 105 - const.json: "const with array" - "array with additional items is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 106 - const.json: "const with null" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 107 - const.json: "const with null" - "not null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 108 - const.json: "const with false does not match 0" - "false is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 109 - const.json: "const with false does not match 0" - "integer zero is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 110 - const.json: "const with false does not match 0" - "float zero is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 111 - const.json: "const with true does not match 1" - "true is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 112 - const.json: "const with true does not match 1" - "integer one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 113 - const.json: "const with true does not match 1" - "float one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 114 - const.json: "const with [false] does not match [0]" - "[false] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 115 - const.json: "const with [false] does not match [0]" - "[0] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 116 - const.json: "const with [false] does not match [0]" - "[0.0] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 117 - const.json: "const with [true] does not match [1]" - "[true] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 118 - const.json: "const with [true] does not match [1]" - "[1] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 119 - const.json: "const with [true] does not match [1]" - "[1.0] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 120 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": false} is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 121 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": 0} is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 122 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": 0.0} is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 123 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": true} is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 124 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": 1} is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 125 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": 1.0} is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 126 - const.json: "const with 0 does not match other zero-like types" - "false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 127 - const.json: "const with 0 does not match other zero-like types" - "integer zero is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 128 - const.json: "const with 0 does not match other zero-like types" - "float zero is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 129 - const.json: "const with 0 does not match other zero-like types" - "empty object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 130 - const.json: "const with 0 does not match other zero-like types" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 131 - const.json: "const with 0 does not match other zero-like types" - "empty string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 132 - const.json: "const with 1 does not match true" - "true is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 133 - const.json: "const with 1 does not match true" - "integer one is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 134 - const.json: "const with 1 does not match true" - "float one is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 135 - const.json: "const with -2.0 matches integer and float types" - "integer -2 is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 136 - const.json: "const with -2.0 matches integer and float types" - "integer 2 is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 137 - const.json: "const with -2.0 matches integer and float types" - "float -2.0 is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 138 - const.json: "const with -2.0 matches integer and float types" - "float 2.0 is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 139 - const.json: "const with -2.0 matches integer and float types" - "float -2.00001 is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 140 - const.json: "float and integers are equal up to 64-bit representation limits" - "integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 141 - const.json: "float and integers are equal up to 64-bit representation limits" - "integer minus one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 142 - const.json: "float and integers are equal up to 64-bit representation limits" - "float is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 143 - const.json: "float and integers are equal up to 64-bit representation limits" - "float minus one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 144 - const.json: "nul characters in strings" - "match string with nul" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 145 - const.json: "nul characters in strings" - "do not match string lacking nul" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 146 - contains.json: "contains keyword validation" - "array with item matching schema (5) is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 147 - contains.json: "contains keyword validation" - "array with item matching schema (6) is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 148 - contains.json: "contains keyword validation" - "array with two items matching schema (5, 6) is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 149 - contains.json: "contains keyword validation" - "array without items matching schema is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 5",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/minimum"
    #     },
    #     {
    #       "error": "value is less than 5",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/minimum"
    #     },
    #     {
    #       "error": "value is less than 5",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/contains/minimum"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 5",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/minimum"
    #     },
    #     {
    #       "error": "value is less than 5",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/minimum"
    #     },
    #     {
    #       "error": "value is less than 5",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/contains/minimum"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 150 - contains.json: "contains keyword validation" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 151 - contains.json: "contains keyword validation" - "not array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 152 - contains.json: "contains keyword with const keyword" - "array with item 5 is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 153 - contains.json: "contains keyword with const keyword" - "array with two items 5 is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 154 - contains.json: "contains keyword with const keyword" - "array without item 5 is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 155 - contains.json: "contains keyword with boolean schema true" - "any non-empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 156 - contains.json: "contains keyword with boolean schema true" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 157 - contains.json: "contains keyword with boolean schema false" - "any non-empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 158 - contains.json: "contains keyword with boolean schema false" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 159 - contains.json: "contains keyword with boolean schema false" - "non-arrays are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 160 - contains.json: "items + contains" - "matches items, does not match contains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 161 - contains.json: "items + contains" - "does not match items, matches contains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 162 - contains.json: "items + contains" - "matches both items and contains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 163 - contains.json: "items + contains" - "matches neither items nor contains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 164 - contains.json: "contains with false if subschema" - "any non-empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 165 - contains.json: "contains with false if subschema" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 166 - contains.json: "contains with null instance elements" - "allows null items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 167 - content.json: "validation of string-encoded content based on media type" - "a valid JSON document" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 168 - content.json: "validation of string-encoded content based on media type" - "an invalid JSON document; validates true" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 169 - content.json: "validation of string-encoded content based on media type" - "ignores non-strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 170 - content.json: "validation of binary string-encoding" - "a valid base64 string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 171 - content.json: "validation of binary string-encoding" - "an invalid base64 string (% is not a valid character); validates true" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 172 - content.json: "validation of binary string-encoding" - "ignores non-strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 173 - content.json: "validation of binary-encoded media type documents" - "a valid base64-encoded JSON document" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 174 - content.json: "validation of binary-encoded media type documents" - "a validly-encoded invalid JSON document; validates true" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 175 - content.json: "validation of binary-encoded media type documents" - "an invalid base64 string that is valid JSON; validates true" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 176 - content.json: "validation of binary-encoded media type documents" - "ignores non-strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 177 - content.json: "validation of binary-encoded media type documents with schema" - "a valid base64-encoded JSON document" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 178 - content.json: "validation of binary-encoded media type documents with schema" - "another valid base64-encoded JSON document" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 179 - content.json: "validation of binary-encoded media type documents with schema" - "an invalid base64-encoded JSON document; validates true" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 180 - content.json: "validation of binary-encoded media type documents with schema" - "an empty object as a base64-encoded JSON document; validates true" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 181 - content.json: "validation of binary-encoded media type documents with schema" - "an empty array as a base64-encoded JSON document" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 182 - content.json: "validation of binary-encoded media type documents with schema" - "a validly-encoded invalid JSON document; validates true" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 183 - content.json: "validation of binary-encoded media type documents with schema" - "an invalid base64 string that is valid JSON; validates true" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 184 - content.json: "validation of binary-encoded media type documents with schema" - "ignores non-strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 185 - default.json: "invalid type for default" - "valid when property is specified" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 186 - default.json: "invalid type for default" - "still valid when the invalid default is used" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 187 - default.json: "invalid string value for default" - "valid when property is specified" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 188 - default.json: "invalid string value for default" - "still valid when the invalid default is used" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 189 - default.json: "the default keyword does not do anything if the property is missing" - "an explicit property value is checked against maximum (passing)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 190 - default.json: "the default keyword does not do anything if the property is missing" - "an explicit property value is checked against maximum (failing)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 3",
    #       "instanceLocation": "/alpha",
    #       "keywordLocation": "/properties/alpha/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 3",
    #       "instanceLocation": "/alpha",
    #       "keywordLocation": "/properties/alpha/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 191 - default.json: "the default keyword does not do anything if the property is missing" - "missing properties are not filled in with the default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 192 - defs.json: "validate definition against metaschema" - "valid definition schema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 193 - defs.json: "validate definition against metaschema" - "invalid definition schema" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/$defs/simpleTypes/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "/$defs/foo/type",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/3/$ref/properties/type/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/properties/type/anyOf/1/type",
    #       "error": "got integer, not array",
    #       "instanceLocation": "/$defs/foo/type",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/3/$ref/properties/type/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/properties/type/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/$defs/foo/type",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/3/$ref/properties/type/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/$defs/foo",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/3/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf",
    #       "error": "subschema 3 is not valid",
    #       "instanceLocation": "/$defs/foo",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/$defs",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/$defs/simpleTypes/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "/$defs/foo/type",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/3/$ref/properties/type/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/properties/type/anyOf/1/type",
    #       "error": "got integer, not array",
    #       "instanceLocation": "/$defs/foo/type",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/3/$ref/properties/type/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/properties/type/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/$defs/foo/type",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/3/$ref/properties/type/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/$defs/foo",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf/3/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf",
    #       "error": "subschema 3 is not valid",
    #       "instanceLocation": "/$defs/foo",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties/$dynamicRef/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties/$defs/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/$defs",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties/$defs/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/core#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/allOf/0/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 194 - dependentRequired.json: "single dependency" - "neither" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 195 - dependentRequired.json: "single dependency" - "nondependant" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 196 - dependentRequired.json: "single dependency" - "with dependency" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 197 - dependentRequired.json: "single dependency" - "missing dependency" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 198 - dependentRequired.json: "single dependency" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 199 - dependentRequired.json: "single dependency" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 200 - dependentRequired.json: "single dependency" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 201 - dependentRequired.json: "empty dependents" - "empty object" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 202 - dependentRequired.json: "empty dependents" - "object with one property" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 203 - dependentRequired.json: "empty dependents" - "non-object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 204 - dependentRequired.json: "multiple dependents required" - "neither" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 205 - dependentRequired.json: "multiple dependents required" - "nondependants" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 206 - dependentRequired.json: "multiple dependents required" - "with dependencies" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 207 - dependentRequired.json: "multiple dependents required" - "missing dependency" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 208 - dependentRequired.json: "multiple dependents required" - "missing other dependency" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 209 - dependentRequired.json: "multiple dependents required" - "missing both dependencies" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: foo, bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: foo, bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 210 - dependentRequired.json: "dependencies with escaped characters" - "CRLF" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 211 - dependentRequired.json: "dependencies with escaped characters" - "quoted quotes" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 212 - dependentRequired.json: "dependencies with escaped characters" - "CRLF missing dependent" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo\rbar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/foo\nbar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo\rbar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/foo\nbar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 213 - dependentRequired.json: "dependencies with escaped characters" - "quoted quotes missing dependent" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo'bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/foo\"bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo'bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired/foo\"bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentRequired"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 214 - dependentSchemas.json: "single dependency" - "valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 215 - dependentSchemas.json: "single dependency" - "no dependency" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 216 - dependentSchemas.json: "single dependency" - "wrong type" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependentSchemas/bar/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependentSchemas/bar/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 217 - dependentSchemas.json: "single dependency" - "wrong type other" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/dependentSchemas/bar/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/dependentSchemas/bar/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 218 - dependentSchemas.json: "single dependency" - "wrong type both" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/dependentSchemas/bar/properties/bar/type"
    #     },
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependentSchemas/bar/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/dependentSchemas/bar/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 219 - dependentSchemas.json: "single dependency" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 220 - dependentSchemas.json: "single dependency" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 221 - dependentSchemas.json: "single dependency" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 222 - dependentSchemas.json: "boolean subschemas" - "object with property having schema true is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 223 - dependentSchemas.json: "boolean subschemas" - "object with property having schema false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 224 - dependentSchemas.json: "boolean subschemas" - "object with both properties is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 225 - dependentSchemas.json: "boolean subschemas" - "empty object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 226 - dependentSchemas.json: "dependencies with escaped characters" - "quoted tab" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 227 - dependentSchemas.json: "dependencies with escaped characters" - "quoted quote" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo\"bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/foo'bar/required"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo\"bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/foo'bar/required"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 228 - dependentSchemas.json: "dependencies with escaped characters" - "quoted tab invalid under dependent schema" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 4 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/foo\tbar/minProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 4 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/foo\tbar/minProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 229 - dependentSchemas.json: "dependencies with escaped characters" - "quoted quote invalid under dependent schema" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo\"bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/foo'bar/required"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo\"bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/foo'bar/required"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 230 - dependentSchemas.json: "dependent subschema incompatible with root" - "matches root" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependentSchemas/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependentSchemas/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 231 - dependentSchemas.json: "dependent subschema incompatible with root" - "matches dependency" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 232 - dependentSchemas.json: "dependent subschema incompatible with root" - "matches both" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependentSchemas/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependentSchemas/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependentSchemas"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 233 - dependentSchemas.json: "dependent subschema incompatible with root" - "no dependency" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 234 - dynamicRef.json: "A $dynamicRef to a $dynamicAnchor in the same schema resource behaves like a normal $ref to an $anchor" - "An array of strings is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 235 - dynamicRef.json: "A $dynamicRef to a $dynamicAnchor in the same schema resource behaves like a normal $ref to an $anchor" - "An array containing non-strings is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-dynamicAnchor-same-schema/root#/$defs/foo/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-dynamicAnchor-same-schema/root#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-dynamicAnchor-same-schema/root#/$defs/foo/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-dynamicAnchor-same-schema/root#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 236 - dynamicRef.json: "A $dynamicRef to an $anchor in the same schema resource behaves like a normal $ref to an $anchor" - "An array of strings is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 237 - dynamicRef.json: "A $dynamicRef to an $anchor in the same schema resource behaves like a normal $ref to an $anchor" - "An array containing non-strings is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-anchor-same-schema/root#/$defs/foo/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-anchor-same-schema/root#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-anchor-same-schema/root#/$defs/foo/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-anchor-same-schema/root#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 238 - dynamicRef.json: "A $ref to a $dynamicAnchor in the same schema resource behaves like a normal $ref to an $anchor" - "An array of strings is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 239 - dynamicRef.json: "A $ref to a $dynamicAnchor in the same schema resource behaves like a normal $ref to an $anchor" - "An array containing non-strings is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/ref-dynamicAnchor-same-schema/root#/$defs/foo/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/ref-dynamicAnchor-same-schema/root#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/ref-dynamicAnchor-same-schema/root#/$defs/foo/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/ref-dynamicAnchor-same-schema/root#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 240 - dynamicRef.json: "A $dynamicRef resolves to the first $dynamicAnchor still in scope that is encountered when the schema is evaluated" - "An array of strings is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 241 - dynamicRef.json: "A $dynamicRef resolves to the first $dynamicAnchor still in scope that is encountered when the schema is evaluated" - "An array containing non-strings is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/typical-dynamic-resolution/root#/$defs/foo/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/$ref/items/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/typical-dynamic-resolution/list#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/typical-dynamic-resolution/root#/$defs/foo/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/$ref/items/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/typical-dynamic-resolution/list#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 242 - dynamicRef.json: "A $dynamicRef without anchor in fragment behaves identical to $ref" - "An array of strings is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-without-anchor/list#/$defs/items/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/$ref/items/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-without-anchor/list#/$defs/items/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/$ref/items/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-without-anchor/list#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-without-anchor/list#/$defs/items/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/$ref/items/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamicRef-without-anchor/list#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 243 - dynamicRef.json: "A $dynamicRef without anchor in fragment behaves identical to $ref" - "An array of numbers is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 244 - dynamicRef.json: "A $dynamicRef with intermediate scopes that don't include a matching $dynamicAnchor does not affect dynamic scope resolution" - "An array of strings is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 245 - dynamicRef.json: "A $dynamicRef with intermediate scopes that don't include a matching $dynamicAnchor does not affect dynamic scope resolution" - "An array containing non-strings is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-resolution-with-intermediate-scopes/root#/$defs/foo/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/$ref/$ref/items/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-resolution-with-intermediate-scopes/list#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-resolution-with-intermediate-scopes/root#/$defs/foo/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/$ref/$ref/items/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-resolution-with-intermediate-scopes/list#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 246 - dynamicRef.json: "An $anchor with the same name as a $dynamicAnchor is not used for dynamic scope resolution" - "Any array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 247 - dynamicRef.json: "A $dynamicRef without a matching $dynamicAnchor in the same schema resource behaves like a normal $ref to $anchor" - "Any array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 248 - dynamicRef.json: "A $dynamicRef with a non-matching $dynamicAnchor in the same schema resource behaves like a normal $ref to $anchor" - "Any array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 249 - dynamicRef.json: "A $dynamicRef that initially resolves to a schema with a matching $dynamicAnchor resolves to the first $dynamicAnchor in the dynamic scope" - "The recursive part is valid against the root" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 250 - dynamicRef.json: "A $dynamicRef that initially resolves to a schema with a matching $dynamicAnchor resolves to the first $dynamicAnchor in the dynamic scope" - "The recursive part is not valid against the root" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/relative-dynamic-reference/root#/properties/foo/const",
    #       "error": "value does not match",
    #       "instanceLocation": "/bar/baz/foo",
    #       "keywordLocation": "/$ref/properties/bar/$ref/properties/baz/$dynamicRef/properties/foo/const"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/relative-dynamic-reference/root#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/bar/baz",
    #       "keywordLocation": "/$ref/properties/bar/$ref/properties/baz/$dynamicRef/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/relative-dynamic-reference/bar#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/$ref/properties/bar/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/relative-dynamic-reference/extended#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/relative-dynamic-reference/root#/properties/foo/const",
    #       "error": "value does not match",
    #       "instanceLocation": "/bar/baz/foo",
    #       "keywordLocation": "/$ref/properties/bar/$ref/properties/baz/$dynamicRef/properties/foo/const"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/relative-dynamic-reference/root#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/bar/baz",
    #       "keywordLocation": "/$ref/properties/bar/$ref/properties/baz/$dynamicRef/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/relative-dynamic-reference/bar#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/$ref/properties/bar/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/relative-dynamic-reference/extended#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 251 - dynamicRef.json: "A $dynamicRef that initially resolves to a schema without a matching $dynamicAnchor behaves like a normal $ref to $anchor" - "The recursive part doesn't need to validate against the root" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 252 - dynamicRef.json: "multiple dynamic paths to the $dynamicRef keyword" - "number list with number values" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 253 - dynamicRef.json: "multiple dynamic paths to the $dynamicRef keyword" - "number list with string values" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/numberList#/$defs/itemType/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/then/$ref/$ref/properties/list/items/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/genericList#/properties/list/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/then/$ref/$ref/properties/list/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/genericList#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/$ref/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/main#/then",
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/numberList#/$defs/itemType/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/then/$ref/$ref/properties/list/items/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/genericList#/properties/list/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/then/$ref/$ref/properties/list/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/genericList#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/$ref/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/main#/then",
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 254 - dynamicRef.json: "multiple dynamic paths to the $dynamicRef keyword" - "string list with number values" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/stringList#/$defs/itemType/type",
    #       "error": "got number, not string",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/else/$ref/$ref/properties/list/items/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/genericList#/properties/list/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/else/$ref/$ref/properties/list/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/genericList#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/main#/else",
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/stringList#/$defs/itemType/type",
    #       "error": "got number, not string",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/else/$ref/$ref/properties/list/items/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/genericList#/properties/list/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/else/$ref/$ref/properties/list/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/genericList#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/main#/else",
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 255 - dynamicRef.json: "multiple dynamic paths to the $dynamicRef keyword" - "string list with string values" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 256 - dynamicRef.json: "after leaving a dynamic scope, it is not used by a $dynamicRef" - "string matches /$defs/thingy, but the $dynamicRef does not stop here" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-leaving-dynamic-scope/second_scope#/$defs/thingy/type",
    #       "error": "got string, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/$ref/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-leaving-dynamic-scope/main#/then",
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-leaving-dynamic-scope/second_scope#/$defs/thingy/type",
    #       "error": "got string, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/$ref/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-leaving-dynamic-scope/main#/then",
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 257 - dynamicRef.json: "after leaving a dynamic scope, it is not used by a $dynamicRef" - "first_scope is not in dynamic scope for the $dynamicRef" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-leaving-dynamic-scope/second_scope#/$defs/thingy/type",
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/$ref/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-leaving-dynamic-scope/main#/then",
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-leaving-dynamic-scope/second_scope#/$defs/thingy/type",
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/$ref/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-leaving-dynamic-scope/main#/then",
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 258 - dynamicRef.json: "after leaving a dynamic scope, it is not used by a $dynamicRef" - "/then/$defs/thingy is the final stop for the $dynamicRef" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 259 - dynamicRef.json: "strict-tree schema, guards against misspelled properties" - "instance with misspelled field" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-tree.json#/unevaluatedProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/children/0/daat",
    #       "keywordLocation": "/$ref/properties/children/items/$dynamicRef/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-tree.json#/unevaluatedProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/children/0",
    #       "keywordLocation": "/$ref/properties/children/items/$dynamicRef/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree.json#/properties/children/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/children",
    #       "keywordLocation": "/$ref/properties/children/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-tree.json#/unevaluatedProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/children",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-tree.json#/unevaluatedProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-tree.json#/unevaluatedProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/children/0/daat",
    #       "keywordLocation": "/$ref/properties/children/items/$dynamicRef/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-tree.json#/unevaluatedProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/children/0",
    #       "keywordLocation": "/$ref/properties/children/items/$dynamicRef/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree.json#/properties/children/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/children",
    #       "keywordLocation": "/$ref/properties/children/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-tree.json#/unevaluatedProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/children",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-tree.json#/unevaluatedProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 260 - dynamicRef.json: "strict-tree schema, guards against misspelled properties" - "instance with correct field" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 261 - dynamicRef.json: "tests for implementation dynamic anchor and reference link" - "incorrect parent schema" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/required",
    #       "error": "object is missing property: elements",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/additionalProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/a",
    #       "keywordLocation": "/$ref/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/required",
    #       "error": "object is missing property: elements",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 262 - dynamicRef.json: "tests for implementation dynamic anchor and reference link" - "incorrect extended schema" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible.json#/$defs/elements/required",
    #       "error": "object is missing property: a",
    #       "instanceLocation": "/elements/0",
    #       "keywordLocation": "/$ref/properties/elements/items/$dynamicRef/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible.json#/$defs/elements/additionalProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/elements/0/b",
    #       "keywordLocation": "/$ref/properties/elements/items/$dynamicRef/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible.json#/$defs/elements/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/elements/0",
    #       "keywordLocation": "/$ref/properties/elements/items/$dynamicRef/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties/elements/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/elements",
    #       "keywordLocation": "/$ref/properties/elements/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible.json#/$defs/elements/required",
    #       "error": "object is missing property: a",
    #       "instanceLocation": "/elements/0",
    #       "keywordLocation": "/$ref/properties/elements/items/$dynamicRef/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties/elements/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/elements",
    #       "keywordLocation": "/$ref/properties/elements/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 263 - dynamicRef.json: "tests for implementation dynamic anchor and reference link" - "correct extended schema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 264 - dynamicRef.json: "$ref and $dynamicAnchor are independent of order - $defs first" - "incorrect parent schema" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/required",
    #       "error": "object is missing property: elements",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/additionalProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/a",
    #       "keywordLocation": "/allOf/0/$ref/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-defs-first.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/required",
    #       "error": "object is missing property: elements",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-defs-first.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 265 - dynamicRef.json: "$ref and $dynamicAnchor are independent of order - $defs first" - "incorrect extended schema" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-defs-first.json#/allOf/1/$defs/elements/required",
    #       "error": "object is missing property: a",
    #       "instanceLocation": "/elements/0",
    #       "keywordLocation": "/allOf/0/$ref/properties/elements/items/$dynamicRef/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-defs-first.json#/allOf/1/$defs/elements/additionalProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/elements/0/b",
    #       "keywordLocation": "/allOf/0/$ref/properties/elements/items/$dynamicRef/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-defs-first.json#/allOf/1/$defs/elements/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/elements/0",
    #       "keywordLocation": "/allOf/0/$ref/properties/elements/items/$dynamicRef/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties/elements/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/elements",
    #       "keywordLocation": "/allOf/0/$ref/properties/elements/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-defs-first.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-defs-first.json#/allOf/1/$defs/elements/required",
    #       "error": "object is missing property: a",
    #       "instanceLocation": "/elements/0",
    #       "keywordLocation": "/allOf/0/$ref/properties/elements/items/$dynamicRef/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties/elements/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/elements",
    #       "keywordLocation": "/allOf/0/$ref/properties/elements/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-defs-first.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 266 - dynamicRef.json: "$ref and $dynamicAnchor are independent of order - $defs first" - "correct extended schema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 267 - dynamicRef.json: "$ref and $dynamicAnchor are independent of order - $ref first" - "incorrect parent schema" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/required",
    #       "error": "object is missing property: elements",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/$ref/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/additionalProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/a",
    #       "keywordLocation": "/allOf/1/$ref/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/$ref/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-ref-first.json#/allOf",
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/required",
    #       "error": "object is missing property: elements",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/$ref/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-ref-first.json#/allOf",
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 268 - dynamicRef.json: "$ref and $dynamicAnchor are independent of order - $ref first" - "incorrect extended schema" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-ref-first.json#/allOf/0/$defs/elements/required",
    #       "error": "object is missing property: a",
    #       "instanceLocation": "/elements/0",
    #       "keywordLocation": "/allOf/1/$ref/properties/elements/items/$dynamicRef/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-ref-first.json#/allOf/0/$defs/elements/additionalProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/elements/0/b",
    #       "keywordLocation": "/allOf/1/$ref/properties/elements/items/$dynamicRef/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-ref-first.json#/allOf/0/$defs/elements/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/elements/0",
    #       "keywordLocation": "/allOf/1/$ref/properties/elements/items/$dynamicRef/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties/elements/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/elements",
    #       "keywordLocation": "/allOf/1/$ref/properties/elements/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-ref-first.json#/allOf",
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-ref-first.json#/allOf/0/$defs/elements/required",
    #       "error": "object is missing property: a",
    #       "instanceLocation": "/elements/0",
    #       "keywordLocation": "/allOf/1/$ref/properties/elements/items/$dynamicRef/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties/elements/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/elements",
    #       "keywordLocation": "/allOf/1/$ref/properties/elements/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/extendible-dynamic-ref.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/strict-extendible-allof-ref-first.json#/allOf",
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 269 - dynamicRef.json: "$ref and $dynamicAnchor are independent of order - $ref first" - "correct extended schema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 270 - dynamicRef.json: "$ref to $dynamicRef finds detached $dynamicAnchor" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 271 - dynamicRef.json: "$ref to $dynamicRef finds detached $dynamicAnchor" - "non-number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/detached-dynamicref.json#/$defs/detached/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$dynamicRef/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/detached-dynamicref.json#/$defs/detached/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$dynamicRef/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 272 - dynamicRef.json: "$dynamicRef points to a boolean schema" - "follow $dynamicRef to a true schema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 273 - dynamicRef.json: "$dynamicRef points to a boolean schema" - "follow $dynamicRef to a false schema" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/false",
    #       "error": "subschema is false",
    #       "instanceLocation": "/false",
    #       "keywordLocation": "/properties/false/$dynamicRef"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/false",
    #       "error": "subschema is false",
    #       "instanceLocation": "/false",
    #       "keywordLocation": "/properties/false/$dynamicRef"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 274 - dynamicRef.json: "$dynamicRef skips over intermediate resources - direct reference" - "integer property passes" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 275 - dynamicRef.json: "$dynamicRef skips over intermediate resources - direct reference" - "string property fails" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-skips-intermediate-resource/item#/$defs/defaultContent/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar-item/content",
    #       "keywordLocation": "/properties/bar-item/$ref/properties/content/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-skips-intermediate-resource/item#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/bar-item",
    #       "keywordLocation": "/properties/bar-item/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-skips-intermediate-resource/main#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-skips-intermediate-resource/item#/$defs/defaultContent/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar-item/content",
    #       "keywordLocation": "/properties/bar-item/$ref/properties/content/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-skips-intermediate-resource/item#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/bar-item",
    #       "keywordLocation": "/properties/bar-item/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-skips-intermediate-resource/main#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 276 - enum.json: "simple enum validation" - "one of the enum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 277 - enum.json: "simple enum validation" - "something else is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 278 - enum.json: "heterogeneous enum validation" - "one of the enum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 279 - enum.json: "heterogeneous enum validation" - "something else is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 280 - enum.json: "heterogeneous enum validation" - "objects are deep compared" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '': wrong type: object vs integer; from enum 1 at '': wrong type: object vs string; from enum 2 at '': wrong type: object vs array; from enum 3 at '': wrong type: object vs boolean; from enum 4 at '/foo': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '': wrong type: object vs integer; from enum 1 at '': wrong type: object vs string; from enum 2 at '': wrong type: object vs array; from enum 3 at '': wrong type: object vs boolean; from enum 4 at '/foo': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 281 - enum.json: "heterogeneous enum validation" - "valid object matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 282 - enum.json: "heterogeneous enum validation" - "extra properties in object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 283 - enum.json: "heterogeneous enum-with-null validation" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 284 - enum.json: "heterogeneous enum-with-null validation" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 285 - enum.json: "heterogeneous enum-with-null validation" - "something else is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 286 - enum.json: "enums in properties" - "both properties are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 287 - enum.json: "enums in properties" - "wrong foo value" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 288 - enum.json: "enums in properties" - "wrong bar value" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 289 - enum.json: "enums in properties" - "missing optional property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 290 - enum.json: "enums in properties" - "missing required property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 291 - enum.json: "enums in properties" - "missing all properties is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 292 - enum.json: "enum with escaped characters" - "member 1 is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 293 - enum.json: "enum with escaped characters" - "member 2 is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 294 - enum.json: "enum with escaped characters" - "another string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 295 - enum.json: "enum with false does not match 0" - "false is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 296 - enum.json: "enum with false does not match 0" - "integer zero is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 297 - enum.json: "enum with false does not match 0" - "float zero is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 298 - enum.json: "enum with [false] does not match [0]" - "[false] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 299 - enum.json: "enum with [false] does not match [0]" - "[0] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 300 - enum.json: "enum with [false] does not match [0]" - "[0.0] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 301 - enum.json: "enum with true does not match 1" - "true is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 302 - enum.json: "enum with true does not match 1" - "integer one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 303 - enum.json: "enum with true does not match 1" - "float one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 304 - enum.json: "enum with [true] does not match [1]" - "[true] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 305 - enum.json: "enum with [true] does not match [1]" - "[1] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 306 - enum.json: "enum with [true] does not match [1]" - "[1.0] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 307 - enum.json: "enum with 0 does not match false" - "false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 308 - enum.json: "enum with 0 does not match false" - "integer zero is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 309 - enum.json: "enum with 0 does not match false" - "float zero is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 310 - enum.json: "enum with [0] does not match [false]" - "[false] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 311 - enum.json: "enum with [0] does not match [false]" - "[0] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 312 - enum.json: "enum with [0] does not match [false]" - "[0.0] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 313 - enum.json: "enum with 1 does not match true" - "true is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 314 - enum.json: "enum with 1 does not match true" - "integer one is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 315 - enum.json: "enum with 1 does not match true" - "float one is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 316 - enum.json: "enum with [1] does not match [true]" - "[true] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 317 - enum.json: "enum with [1] does not match [true]" - "[1] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 318 - enum.json: "enum with [1] does not match [true]" - "[1.0] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 319 - enum.json: "nul characters in strings" - "match string with nul" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 320 - enum.json: "nul characters in strings" - "do not match string lacking nul" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 321 - exclusiveMaximum.json: "exclusiveMaximum validation" - "below the exclusiveMaximum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 322 - exclusiveMaximum.json: "exclusiveMaximum validation" - "boundary point is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 323 - exclusiveMaximum.json: "exclusiveMaximum validation" - "above the exclusiveMaximum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 324 - exclusiveMaximum.json: "exclusiveMaximum validation" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 325 - exclusiveMinimum.json: "exclusiveMinimum validation" - "above the exclusiveMinimum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 326 - exclusiveMinimum.json: "exclusiveMinimum validation" - "boundary point is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 327 - exclusiveMinimum.json: "exclusiveMinimum validation" - "below the exclusiveMinimum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 328 - exclusiveMinimum.json: "exclusiveMinimum validation" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 329 - format.json: "email format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 330 - format.json: "email format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 331 - format.json: "email format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 332 - format.json: "email format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 333 - format.json: "email format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 334 - format.json: "email format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 335 - format.json: "email format" - "invalid email string is only an annotation by default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 336 - format.json: "idn-email format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 337 - format.json: "idn-email format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 338 - format.json: "idn-email format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 339 - format.json: "idn-email format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 340 - format.json: "idn-email format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 341 - format.json: "idn-email format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 342 - format.json: "idn-email format" - "invalid idn-email string is only an annotation by default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 343 - format.json: "regex format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 344 - format.json: "regex format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 345 - format.json: "regex format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 346 - format.json: "regex format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 347 - format.json: "regex format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 348 - format.json: "regex format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 349 - format.json: "regex format" - "invalid regex string is only an annotation by default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 350 - format.json: "ipv4 format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 351 - format.json: "ipv4 format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 352 - format.json: "ipv4 format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 353 - format.json: "ipv4 format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 354 - format.json: "ipv4 format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 355 - format.json: "ipv4 format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 356 - format.json: "ipv4 format" - "invalid ipv4 string is only an annotation by default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 357 - format.json: "ipv6 format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 358 - format.json: "ipv6 format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 359 - format.json: "ipv6 format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 360 - format.json: "ipv6 format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 361 - format.json: "ipv6 format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 362 - format.json: "ipv6 format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 363 - format.json: "ipv6 format" - "invalid ipv6 string is only an annotation by default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 364 - format.json: "idn-hostname format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 365 - format.json: "idn-hostname format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 366 - format.json: "idn-hostname format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 367 - format.json: "idn-hostname format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 368 - format.json: "idn-hostname format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 369 - format.json: "idn-hostname format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 370 - format.json: "idn-hostname format" - "invalid idn-hostname string is only an annotation by default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 371 - format.json: "hostname format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 372 - format.json: "hostname format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 373 - format.json: "hostname format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 374 - format.json: "hostname format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 375 - format.json: "hostname format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 376 - format.json: "hostname format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 377 - format.json: "hostname format" - "invalid hostname string is only an annotation by default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 378 - format.json: "date format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 379 - format.json: "date format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 380 - format.json: "date format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 381 - format.json: "date format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 382 - format.json: "date format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 383 - format.json: "date format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 384 - format.json: "date format" - "invalid date string is only an annotation by default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 385 - format.json: "date-time format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 386 - format.json: "date-time format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 387 - format.json: "date-time format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 388 - format.json: "date-time format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 389 - format.json: "date-time format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 390 - format.json: "date-time format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 391 - format.json: "date-time format" - "invalid date-time string is only an annotation by default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 392 - format.json: "time format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 393 - format.json: "time format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 394 - format.json: "time format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 395 - format.json: "time format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 396 - format.json: "time format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 397 - format.json: "time format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 398 - format.json: "time format" - "invalid time string is only an annotation by default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 399 - format.json: "json-pointer format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 400 - format.json: "json-pointer format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 401 - format.json: "json-pointer format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 402 - format.json: "json-pointer format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 403 - format.json: "json-pointer format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 404 - format.json: "json-pointer format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 405 - format.json: "json-pointer format" - "invalid json-pointer string is only an annotation by default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 406 - format.json: "relative-json-pointer format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 407 - format.json: "relative-json-pointer format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 408 - format.json: "relative-json-pointer format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 409 - format.json: "relative-json-pointer format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 410 - format.json: "relative-json-pointer format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 411 - format.json: "relative-json-pointer format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 412 - format.json: "relative-json-pointer format" - "invalid relative-json-pointer string is only an annotation by default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 413 - format.json: "iri format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 414 - format.json: "iri format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 415 - format.json: "iri format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 416 - format.json: "iri format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 417 - format.json: "iri format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 418 - format.json: "iri format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 419 - format.json: "iri format" - "invalid iri string is only an annotation by default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 420 - format.json: "iri-reference format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 421 - format.json: "iri-reference format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 422 - format.json: "iri-reference format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 423 - format.json: "iri-reference format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 424 - format.json: "iri-reference format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 425 - format.json: "iri-reference format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 426 - format.json: "iri-reference format" - "invalid iri-reference string is only an annotation by default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 427 - format.json: "uri format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 428 - format.json: "uri format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 429 - format.json: "uri format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 430 - format.json: "uri format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 431 - format.json: "uri format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 432 - format.json: "uri format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 433 - format.json: "uri format" - "invalid uri string is only an annotation by default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 434 - format.json: "uri-reference format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 435 - format.json: "uri-reference format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 436 - format.json: "uri-reference format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 437 - format.json: "uri-reference format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 438 - format.json: "uri-reference format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 439 - format.json: "uri-reference format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 440 - format.json: "uri-reference format" - "invalid uri-reference string is only an annotation by default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 441 - format.json: "uri-template format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 442 - format.json: "uri-template format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 443 - format.json: "uri-template format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 444 - format.json: "uri-template format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 445 - format.json: "uri-template format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 446 - format.json: "uri-template format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 447 - format.json: "uri-template format" - "invalid uri-template string is only an annotation by default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 448 - format.json: "uuid format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 449 - format.json: "uuid format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 450 - format.json: "uuid format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 451 - format.json: "uuid format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 452 - format.json: "uuid format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 453 - format.json: "uuid format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 454 - format.json: "uuid format" - "invalid uuid string is only an annotation by default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 455 - format.json: "duration format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 456 - format.json: "duration format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 457 - format.json: "duration format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 458 - format.json: "duration format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 459 - format.json: "duration format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 460 - format.json: "duration format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 461 - format.json: "duration format" - "invalid duration string is only an annotation by default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 462 - if-then-else.json: "ignore if without then or else" - "valid when valid against lone if" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 463 - if-then-else.json: "ignore if without then or else" - "valid when invalid against lone if" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 464 - if-then-else.json: "ignore then without if" - "valid when valid against lone then" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 465 - if-then-else.json: "ignore then without if" - "valid when invalid against lone then" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 466 - if-then-else.json: "ignore else without if" - "valid when valid against lone else" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 467 - if-then-else.json: "ignore else without if" - "valid when invalid against lone else" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 468 - if-then-else.json: "if and then without else" - "valid through then" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 469 - if-then-else.json: "if and then without else" - "invalid through then" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/minimum"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/minimum"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 470 - if-then-else.json: "if and then without else" - "valid when if test fails" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 471 - if-then-else.json: "if and else without then" - "valid when if test passes" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 472 - if-then-else.json: "if and else without then" - "valid through else" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 473 - if-then-else.json: "if and else without then" - "invalid through else" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 474 - if-then-else.json: "validate against correct branch, then vs else" - "valid through then" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 475 - if-then-else.json: "validate against correct branch, then vs else" - "invalid through then" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/minimum"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/minimum"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 476 - if-then-else.json: "validate against correct branch, then vs else" - "valid through else" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 477 - if-then-else.json: "validate against correct branch, then vs else" - "invalid through else" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 478 - if-then-else.json: "non-interference across combined schemas" - "valid, but would have been invalid through then" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 479 - if-then-else.json: "non-interference across combined schemas" - "valid, but would have been invalid through else" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 480 - if-then-else.json: "if with boolean schema true" - "boolean schema true in if always chooses the then path (valid)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 481 - if-then-else.json: "if with boolean schema true" - "boolean schema true in if always chooses the then path (invalid)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 482 - if-then-else.json: "if with boolean schema false" - "boolean schema false in if always chooses the else path (invalid)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 483 - if-then-else.json: "if with boolean schema false" - "boolean schema false in if always chooses the else path (valid)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 484 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "yes redirects to then and passes" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 485 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "other redirects to else and passes" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 486 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "no redirects to then and fails" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 487 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "invalid redirects to else and fails" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 488 - infinite-loop-detection.json: "evaluating the same schema location against the same data location twice is not a sign of an infinite loop" - "passing case" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 489 - infinite-loop-detection.json: "evaluating the same schema location against the same data location twice is not a sign of an infinite loop" - "failing case" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/int/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/0/properties/foo/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/int/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/1/additionalProperties/$ref/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/additionalProperties"
    #     },
    #     {
    #       "error": "subschemas 0, 1 are not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/int/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/0/properties/foo/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/properties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 490 - items.json: "a schema given for items" - "valid items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 491 - items.json: "a schema given for items" - "wrong type of items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 492 - items.json: "a schema given for items" - "ignores non-arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 493 - items.json: "a schema given for items" - "JavaScript pseudo-array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 494 - items.json: "items with boolean schema (true)" - "any array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 495 - items.json: "items with boolean schema (true)" - "empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 496 - items.json: "items with boolean schema (false)" - "any non-empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 497 - items.json: "items with boolean schema (false)" - "empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 498 - items.json: "items and subitems" - "valid items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 499 - items.json: "items and subitems" - "too many items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 500 - items.json: "items and subitems" - "too many sub-items" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/item/items",
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0/2",
    #       "keywordLocation": "/prefixItems/0/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/item/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0/$ref/items"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/item/items",
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0/2",
    #       "keywordLocation": "/prefixItems/0/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/item/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0/$ref/items"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 501 - items.json: "items and subitems" - "wrong item" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/item/type",
    #       "error": "got object, not array",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0/$ref/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/item/type",
    #       "error": "got object, not array",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0/$ref/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 502 - items.json: "items and subitems" - "wrong sub-item" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/sub-item/required",
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/prefixItems/0/$ref/prefixItems/0/$ref/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/item/prefixItems",
    #       "error": "not all items are valid",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0/$ref/prefixItems"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/sub-item/required",
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/prefixItems/0/$ref/prefixItems/0/$ref/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/item/prefixItems",
    #       "error": "not all items are valid",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0/$ref/prefixItems"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 503 - items.json: "items and subitems" - "fewer items is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 504 - items.json: "nested items" - "valid nested array" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 505 - items.json: "nested items" - "nested array with invalid type" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/0/0/0/0",
    #       "keywordLocation": "/items/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0/0",
    #       "keywordLocation": "/items/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/0/0/0/0",
    #       "keywordLocation": "/items/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0/0",
    #       "keywordLocation": "/items/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 506 - items.json: "nested items" - "not deep enough" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/0/0/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/0/1/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/1",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/0/2/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/2",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/1/0/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/1/0",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/1/1/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/1/1",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/1/2/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/1/2",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/0/0/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 507 - items.json: "prefixItems with no additional items allowed" - "empty array" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 508 - items.json: "prefixItems with no additional items allowed" - "fewer number of items present (1)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 509 - items.json: "prefixItems with no additional items allowed" - "fewer number of items present (2)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 510 - items.json: "prefixItems with no additional items allowed" - "equal number of items present" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 511 - items.json: "prefixItems with no additional items allowed" - "additional items are not permitted" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 512 - items.json: "items does not look in applicators, valid case" - "prefixItems in allOf does not constrain items, invalid case" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 5",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/minimum"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 5",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/minimum"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 513 - items.json: "items does not look in applicators, valid case" - "prefixItems in allOf does not constrain items, valid case" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 514 - items.json: "prefixItems validation adjusts the starting index for items" - "valid items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 515 - items.json: "prefixItems validation adjusts the starting index for items" - "wrong type of second item" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 516 - items.json: "items with heterogeneous array" - "heterogeneous invalid instance" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 517 - items.json: "items with heterogeneous array" - "valid instance" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 518 - items.json: "items with null instance elements" - "allows null elements" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 519 - maxContains.json: "maxContains without contains is ignored" - "one item valid against lone maxContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 520 - maxContains.json: "maxContains without contains is ignored" - "two items still valid against lone maxContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 521 - maxContains.json: "maxContains with contains" - "empty data" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 522 - maxContains.json: "maxContains with contains" - "all elements match, valid maxContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 523 - maxContains.json: "maxContains with contains" - "all elements match, invalid maxContains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 524 - maxContains.json: "maxContains with contains" - "some elements match, valid maxContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 525 - maxContains.json: "maxContains with contains" - "some elements match, invalid maxContains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 526 - maxContains.json: "maxContains with contains, value with a decimal" - "one element matches, valid maxContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 527 - maxContains.json: "maxContains with contains, value with a decimal" - "too many elements match, invalid maxContains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 528 - maxContains.json: "minContains < maxContains" - "actual < minContains < maxContains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     },
    #     {
    #       "error": "array contains fewer than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 529 - maxContains.json: "minContains < maxContains" - "minContains < actual < maxContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 530 - maxContains.json: "minContains < maxContains" - "minContains < maxContains < actual" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 3 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 3 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 531 - maxItems.json: "maxItems validation" - "shorter is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 532 - maxItems.json: "maxItems validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 533 - maxItems.json: "maxItems validation" - "too long is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 534 - maxItems.json: "maxItems validation" - "ignores non-arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 535 - maxItems.json: "maxItems validation with a decimal" - "shorter is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 536 - maxItems.json: "maxItems validation with a decimal" - "too long is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 537 - maxLength.json: "maxLength validation" - "shorter is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 538 - maxLength.json: "maxLength validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 539 - maxLength.json: "maxLength validation" - "too long is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 540 - maxLength.json: "maxLength validation" - "ignores non-strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 541 - maxLength.json: "maxLength validation" - "two graphemes is long enough" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 542 - maxLength.json: "maxLength validation with a decimal" - "shorter is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 543 - maxLength.json: "maxLength validation with a decimal" - "too long is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 544 - maxProperties.json: "maxProperties validation" - "shorter is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 545 - maxProperties.json: "maxProperties validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 546 - maxProperties.json: "maxProperties validation" - "too long is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 2 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 2 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 547 - maxProperties.json: "maxProperties validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 548 - maxProperties.json: "maxProperties validation" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 549 - maxProperties.json: "maxProperties validation" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 550 - maxProperties.json: "maxProperties validation with a decimal" - "shorter is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 551 - maxProperties.json: "maxProperties validation with a decimal" - "too long is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 2 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 2 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 552 - maxProperties.json: "maxProperties = 0 means the object is empty" - "no properties is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 553 - maxProperties.json: "maxProperties = 0 means the object is empty" - "one property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 0 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 0 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 554 - maximum.json: "maximum validation" - "below the maximum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 555 - maximum.json: "maximum validation" - "boundary point is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 556 - maximum.json: "maximum validation" - "above the maximum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 557 - maximum.json: "maximum validation" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 558 - maximum.json: "maximum validation with unsigned integer" - "below the maximum is invalid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 559 - maximum.json: "maximum validation with unsigned integer" - "boundary point integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 560 - maximum.json: "maximum validation with unsigned integer" - "boundary point float is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 561 - maximum.json: "maximum validation with unsigned integer" - "above the maximum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 300",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 300",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 562 - minContains.json: "minContains without contains is ignored" - "one item valid against lone minContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 563 - minContains.json: "minContains without contains is ignored" - "zero items still valid against lone minContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 564 - minContains.json: "minContains=1 with contains" - "empty data" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     },
    #     {
    #       "error": "array contains fewer than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 565 - minContains.json: "minContains=1 with contains" - "no elements match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     },
    #     {
    #       "error": "array contains fewer than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 566 - minContains.json: "minContains=1 with contains" - "single element matches, valid minContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 567 - minContains.json: "minContains=1 with contains" - "some elements match, valid minContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 568 - minContains.json: "minContains=1 with contains" - "all elements match, valid minContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 569 - minContains.json: "minContains=2 with contains" - "empty data" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     },
    #     {
    #       "error": "array contains fewer than 2 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 570 - minContains.json: "minContains=2 with contains" - "all elements match, invalid minContains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array contains fewer than 2 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array contains fewer than 2 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 571 - minContains.json: "minContains=2 with contains" - "some elements match, invalid minContains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array contains fewer than 2 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array contains fewer than 2 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 572 - minContains.json: "minContains=2 with contains" - "all elements match, valid minContains (exactly as needed)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 573 - minContains.json: "minContains=2 with contains" - "all elements match, valid minContains (more than needed)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 574 - minContains.json: "minContains=2 with contains" - "some elements match, valid minContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 575 - minContains.json: "minContains=2 with contains with a decimal value" - "one element matches, invalid minContains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array contains fewer than 2 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array contains fewer than 2 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 576 - minContains.json: "minContains=2 with contains with a decimal value" - "both elements match, valid minContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 577 - minContains.json: "maxContains = minContains" - "empty data" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     },
    #     {
    #       "error": "array contains fewer than 2 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 578 - minContains.json: "maxContains = minContains" - "all elements match, invalid minContains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array contains fewer than 2 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array contains fewer than 2 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 579 - minContains.json: "maxContains = minContains" - "all elements match, invalid maxContains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 2 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 2 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 580 - minContains.json: "maxContains = minContains" - "all elements match, valid maxContains and minContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 581 - minContains.json: "maxContains < minContains" - "empty data" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     },
    #     {
    #       "error": "array contains fewer than 3 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 582 - minContains.json: "maxContains < minContains" - "invalid minContains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array contains fewer than 3 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array contains fewer than 3 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 583 - minContains.json: "maxContains < minContains" - "invalid maxContains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 584 - minContains.json: "maxContains < minContains" - "invalid maxContains and minContains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     },
    #     {
    #       "error": "array contains fewer than 3 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 585 - minContains.json: "minContains = 0" - "empty data" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 586 - minContains.json: "minContains = 0" - "minContains = 0 makes contains always pass" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 587 - minContains.json: "minContains = 0 with maxContains" - "empty data" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 588 - minContains.json: "minContains = 0 with maxContains" - "not more than maxContains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 589 - minContains.json: "minContains = 0 with maxContains" - "too many" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array contains more than 1 matching items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxContains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 590 - minItems.json: "minItems validation" - "longer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 591 - minItems.json: "minItems validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 592 - minItems.json: "minItems validation" - "too short is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 593 - minItems.json: "minItems validation" - "ignores non-arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 594 - minItems.json: "minItems validation with a decimal" - "longer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 595 - minItems.json: "minItems validation with a decimal" - "too short is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 596 - minLength.json: "minLength validation" - "longer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 597 - minLength.json: "minLength validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 598 - minLength.json: "minLength validation" - "too short is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 599 - minLength.json: "minLength validation" - "ignores non-strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 600 - minLength.json: "minLength validation" - "one grapheme is not long enough" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 601 - minLength.json: "minLength validation with a decimal" - "longer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 602 - minLength.json: "minLength validation with a decimal" - "too short is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 603 - minProperties.json: "minProperties validation" - "longer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 604 - minProperties.json: "minProperties validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 605 - minProperties.json: "minProperties validation" - "too short is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 606 - minProperties.json: "minProperties validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 607 - minProperties.json: "minProperties validation" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 608 - minProperties.json: "minProperties validation" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 609 - minProperties.json: "minProperties validation with a decimal" - "longer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 610 - minProperties.json: "minProperties validation with a decimal" - "too short is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 611 - minimum.json: "minimum validation" - "above the minimum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 612 - minimum.json: "minimum validation" - "boundary point is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 613 - minimum.json: "minimum validation" - "below the minimum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 614 - minimum.json: "minimum validation" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 615 - minimum.json: "minimum validation with signed integer" - "negative above the minimum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 616 - minimum.json: "minimum validation with signed integer" - "positive above the minimum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 617 - minimum.json: "minimum validation with signed integer" - "boundary point is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 618 - minimum.json: "minimum validation with signed integer" - "boundary point with float is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 619 - minimum.json: "minimum validation with signed integer" - "float below the minimum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 620 - minimum.json: "minimum validation with signed integer" - "int below the minimum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 621 - minimum.json: "minimum validation with signed integer" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 622 - multipleOf.json: "by int" - "int by int" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 623 - multipleOf.json: "by int" - "int by int fail" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 624 - multipleOf.json: "by int" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 625 - multipleOf.json: "by number" - "zero is multiple of anything" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 626 - multipleOf.json: "by number" - "4.5 is multiple of 1.5" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 627 - multipleOf.json: "by number" - "35 is not multiple of 1.5" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 1.5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 1.5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 628 - multipleOf.json: "by small number" - "0.0075 is multiple of 0.0001" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 629 - multipleOf.json: "by small number" - "0.00751 is not multiple of 0.0001" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 0.0001",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 0.0001",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 630 - multipleOf.json: "float division = inf" - "always invalid, but naive implementations may raise an overflow error" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 0.123456789",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 0.123456789",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 631 - multipleOf.json: "small multiple of large integer" - "any integer is a multiple of 1e-8" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 632 - not.json: "not" - "allowed" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 633 - not.json: "not" - "disallowed" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 634 - not.json: "not multiple types" - "valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 635 - not.json: "not multiple types" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 636 - not.json: "not multiple types" - "other mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 637 - not.json: "not more complex schema" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 638 - not.json: "not more complex schema" - "other match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 639 - not.json: "not more complex schema" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 640 - not.json: "forbidden property" - "property present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/not"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/not"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 641 - not.json: "forbidden property" - "property absent" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 642 - not.json: "forbid everything with empty schema" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 643 - not.json: "forbid everything with empty schema" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 644 - not.json: "forbid everything with empty schema" - "boolean true is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 645 - not.json: "forbid everything with empty schema" - "boolean false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 646 - not.json: "forbid everything with empty schema" - "null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 647 - not.json: "forbid everything with empty schema" - "object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 648 - not.json: "forbid everything with empty schema" - "empty object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 649 - not.json: "forbid everything with empty schema" - "array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 650 - not.json: "forbid everything with empty schema" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 651 - not.json: "forbid everything with boolean schema true" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 652 - not.json: "forbid everything with boolean schema true" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 653 - not.json: "forbid everything with boolean schema true" - "boolean true is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 654 - not.json: "forbid everything with boolean schema true" - "boolean false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 655 - not.json: "forbid everything with boolean schema true" - "null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 656 - not.json: "forbid everything with boolean schema true" - "object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 657 - not.json: "forbid everything with boolean schema true" - "empty object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 658 - not.json: "forbid everything with boolean schema true" - "array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 659 - not.json: "forbid everything with boolean schema true" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 660 - not.json: "allow everything with boolean schema false" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 661 - not.json: "allow everything with boolean schema false" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 662 - not.json: "allow everything with boolean schema false" - "boolean true is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 663 - not.json: "allow everything with boolean schema false" - "boolean false is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 664 - not.json: "allow everything with boolean schema false" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 665 - not.json: "allow everything with boolean schema false" - "object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 666 - not.json: "allow everything with boolean schema false" - "empty object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 667 - not.json: "allow everything with boolean schema false" - "array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 668 - not.json: "allow everything with boolean schema false" - "empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 669 - not.json: "double negation" - "any value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 670 - not.json: "collect annotations inside a 'not', even if collection is disabled" - "unevaluated property" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 671 - not.json: "collect annotations inside a 'not', even if collection is disabled" - "annotations are still collected inside a 'not'" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 672 - oneOf.json: "oneOf" - "first oneOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 673 - oneOf.json: "oneOf" - "second oneOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 674 - oneOf.json: "oneOf" - "both oneOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 675 - oneOf.json: "oneOf" - "neither oneOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/type"
    #     },
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/minimum"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/type"
    #     },
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/minimum"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 676 - oneOf.json: "oneOf with base schema" - "mismatch base schema" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     },
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 677 - oneOf.json: "oneOf with base schema" - "one oneOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 678 - oneOf.json: "oneOf with base schema" - "both oneOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 679 - oneOf.json: "oneOf with boolean schemas, all true" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1, 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 680 - oneOf.json: "oneOf with boolean schemas, one true" - "any value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 681 - oneOf.json: "oneOf with boolean schemas, more than one true" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 682 - oneOf.json: "oneOf with boolean schemas, all false" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/2"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/2"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 683 - oneOf.json: "oneOf complex types" - "first oneOf valid (complex)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 684 - oneOf.json: "oneOf complex types" - "second oneOf valid (complex)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 685 - oneOf.json: "oneOf complex types" - "both oneOf valid (complex)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 686 - oneOf.json: "oneOf complex types" - "neither oneOf valid (complex)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/oneOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/properties"
    #     },
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/oneOf/1/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/properties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/oneOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/properties"
    #     },
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/oneOf/1/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/properties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 687 - oneOf.json: "oneOf with empty schema" - "one valid - valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 688 - oneOf.json: "oneOf with empty schema" - "both valid - invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 689 - oneOf.json: "oneOf with required" - "both invalid - invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/required"
    #     },
    #     {
    #       "error": "object is missing properties: foo, baz",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/required"
    #     },
    #     {
    #       "error": "object is missing properties: foo, baz",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 690 - oneOf.json: "oneOf with required" - "first valid - valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 691 - oneOf.json: "oneOf with required" - "second valid - valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 692 - oneOf.json: "oneOf with required" - "both valid - invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 693 - oneOf.json: "oneOf with missing optional property" - "first oneOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 694 - oneOf.json: "oneOf with missing optional property" - "second oneOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 695 - oneOf.json: "oneOf with missing optional property" - "both oneOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 696 - oneOf.json: "oneOf with missing optional property" - "neither oneOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/required"
    #     },
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/required"
    #     },
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 697 - oneOf.json: "nested oneOf, to check validation semantics" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 698 - oneOf.json: "nested oneOf, to check validation semantics" - "anything non-null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/oneOf/0/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/oneOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/oneOf/0/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/oneOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 699 - pattern.json: "pattern validation" - "a matching pattern is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 700 - pattern.json: "pattern validation" - "a non-matching pattern is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 701 - pattern.json: "pattern validation" - "ignores booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 702 - pattern.json: "pattern validation" - "ignores integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 703 - pattern.json: "pattern validation" - "ignores floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 704 - pattern.json: "pattern validation" - "ignores objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 705 - pattern.json: "pattern validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 706 - pattern.json: "pattern validation" - "ignores null" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 707 - pattern.json: "pattern is not anchored" - "matches a substring" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 708 - patternProperties.json: "patternProperties validates properties matching a regex" - "a single valid match is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 709 - patternProperties.json: "patternProperties validates properties matching a regex" - "multiple valid matches is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 710 - patternProperties.json: "patternProperties validates properties matching a regex" - "a single invalid match is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.*o/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.*o/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 711 - patternProperties.json: "patternProperties validates properties matching a regex" - "multiple invalid matches is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.*o/type"
    #     },
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foooooo",
    #       "keywordLocation": "/patternProperties/f.*o/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.*o/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 712 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 713 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 714 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 715 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "a single valid match is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 716 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "a simultaneous match is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 717 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "multiple matches is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 718 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/a",
    #       "keywordLocation": "/patternProperties/a*/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/a",
    #       "keywordLocation": "/patternProperties/a*/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 719 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to the other is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 20",
    #       "instanceLocation": "/aaaa",
    #       "keywordLocation": "/patternProperties/aaa*/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 20",
    #       "instanceLocation": "/aaaa",
    #       "keywordLocation": "/patternProperties/aaa*/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 720 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to both is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/aaa",
    #       "keywordLocation": "/patternProperties/a*/type"
    #     },
    #     {
    #       "error": "value is greater than 20",
    #       "instanceLocation": "/aaaa",
    #       "keywordLocation": "/patternProperties/aaa*/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/aaa",
    #       "keywordLocation": "/patternProperties/a*/type"
    #     },
    #     {
    #       "error": "value is greater than 20",
    #       "instanceLocation": "/aaaa",
    #       "keywordLocation": "/patternProperties/aaa*/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 721 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "non recognized members are ignored" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 722 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "recognized members are accounted for" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not boolean",
    #       "instanceLocation": "/a31b",
    #       "keywordLocation": "/patternProperties/[0-9]{2,}/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not boolean",
    #       "instanceLocation": "/a31b",
    #       "keywordLocation": "/patternProperties/[0-9]{2,}/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 723 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "regexes are case sensitive" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 724 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "regexes are case sensitive, 2" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/a_X_3",
    #       "keywordLocation": "/patternProperties/X_/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/a_X_3",
    #       "keywordLocation": "/patternProperties/X_/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 725 - patternProperties.json: "patternProperties with boolean schemas" - "object with property matching schema true is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 726 - patternProperties.json: "patternProperties with boolean schemas" - "object with property matching schema false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/patternProperties/b.*"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/patternProperties/b.*"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 727 - patternProperties.json: "patternProperties with boolean schemas" - "object with both properties is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/patternProperties/b.*"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/patternProperties/b.*"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 728 - patternProperties.json: "patternProperties with boolean schemas" - "object with a property matching both true and false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/foobar",
    #       "keywordLocation": "/patternProperties/b.*"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/foobar",
    #       "keywordLocation": "/patternProperties/b.*"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 729 - patternProperties.json: "patternProperties with boolean schemas" - "empty object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 730 - patternProperties.json: "patternProperties with null valued instance properties" - "allows null values" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 731 - prefixItems.json: "a schema given for prefixItems" - "correct types" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 732 - prefixItems.json: "a schema given for prefixItems" - "wrong types" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0/type"
    #     },
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/prefixItems/1/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/prefixItems/0/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 733 - prefixItems.json: "a schema given for prefixItems" - "incomplete array of items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 734 - prefixItems.json: "a schema given for prefixItems" - "array with additional items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 735 - prefixItems.json: "a schema given for prefixItems" - "empty array" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 736 - prefixItems.json: "a schema given for prefixItems" - "JavaScript pseudo-array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 737 - prefixItems.json: "prefixItems with boolean schemas" - "array with one item is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 738 - prefixItems.json: "prefixItems with boolean schemas" - "array with two items is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/prefixItems/1"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/prefixItems/1"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 739 - prefixItems.json: "prefixItems with boolean schemas" - "empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 740 - prefixItems.json: "additional items are allowed by default" - "only the first item is validated" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 741 - prefixItems.json: "prefixItems with null instance elements" - "allows null elements" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 742 - properties.json: "object properties validation" - "both properties present and valid is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 743 - properties.json: "object properties validation" - "one property invalid is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 744 - properties.json: "object properties validation" - "both properties invalid is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/type"
    #     },
    #     {
    #       "error": "got array, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 745 - properties.json: "object properties validation" - "doesn't invalidate other properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 746 - properties.json: "object properties validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 747 - properties.json: "object properties validation" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 748 - properties.json: "properties, patternProperties, additionalProperties interaction" - "property validates property" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 749 - properties.json: "properties, patternProperties, additionalProperties interaction" - "property invalidates property" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 3 items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/maxItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 3 items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/maxItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 750 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty invalidates property" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.o/minItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.o/minItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 751 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty validates nonproperty" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 752 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty invalidates nonproperty" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "/fxo",
    #       "keywordLocation": "/patternProperties/f.o/minItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "/fxo",
    #       "keywordLocation": "/patternProperties/f.o/minItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 753 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty ignores property" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 754 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty validates others" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 755 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty invalidates others" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 756 - properties.json: "properties with boolean schema" - "no property present is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 757 - properties.json: "properties with boolean schema" - "only 'true' property present is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 758 - properties.json: "properties with boolean schema" - "only 'false' property present is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 759 - properties.json: "properties with boolean schema" - "both properties present is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 760 - properties.json: "properties with escaped characters" - "object with all numbers is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 761 - properties.json: "properties with escaped characters" - "object with strings is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\tbar",
    #       "keywordLocation": "/properties/foo\tbar/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\nbar",
    #       "keywordLocation": "/properties/foo\nbar/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\fbar",
    #       "keywordLocation": "/properties/foo\fbar/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\rbar",
    #       "keywordLocation": "/properties/foo\rbar/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\"bar",
    #       "keywordLocation": "/properties/foo\"bar/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\\bar",
    #       "keywordLocation": "/properties/foo\\bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\tbar",
    #       "keywordLocation": "/properties/foo\tbar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 762 - properties.json: "properties with null valued instance properties" - "allows null values" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 763 - properties.json: "properties whose names are Javascript object property names" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 764 - properties.json: "properties whose names are Javascript object property names" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 765 - properties.json: "properties whose names are Javascript object property names" - "none of the properties mentioned" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 766 - properties.json: "properties whose names are Javascript object property names" - "__proto__ not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/__proto__",
    #       "keywordLocation": "/properties/__proto__/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/__proto__",
    #       "keywordLocation": "/properties/__proto__/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 767 - properties.json: "properties whose names are Javascript object property names" - "toString not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/toString/length",
    #       "keywordLocation": "/properties/toString/properties/length/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/toString",
    #       "keywordLocation": "/properties/toString/properties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/toString/length",
    #       "keywordLocation": "/properties/toString/properties/length/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/toString",
    #       "keywordLocation": "/properties/toString/properties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 768 - properties.json: "properties whose names are Javascript object property names" - "constructor not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not number",
    #       "instanceLocation": "/constructor",
    #       "keywordLocation": "/properties/constructor/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not number",
    #       "instanceLocation": "/constructor",
    #       "keywordLocation": "/properties/constructor/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 769 - properties.json: "properties whose names are Javascript object property names" - "all present and valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 770 - propertyNames.json: "propertyNames validation" - "all property names valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 771 - propertyNames.json: "propertyNames validation" - "some property names invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 3",
    #       "instanceLocation": "/foobar",
    #       "keywordLocation": "/propertyNames/maxLength"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 3",
    #       "instanceLocation": "/foobar",
    #       "keywordLocation": "/propertyNames/maxLength"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 772 - propertyNames.json: "propertyNames validation" - "object without properties is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 773 - propertyNames.json: "propertyNames validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 774 - propertyNames.json: "propertyNames validation" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 775 - propertyNames.json: "propertyNames validation" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 776 - propertyNames.json: "propertyNames with boolean schema true" - "object with any properties is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 777 - propertyNames.json: "propertyNames with boolean schema true" - "empty object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 778 - propertyNames.json: "propertyNames with boolean schema false" - "object with any properties is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 779 - propertyNames.json: "propertyNames with boolean schema false" - "empty object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 780 - ref.json: "root pointer ref" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 781 - ref.json: "root pointer ref" - "recursive match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 782 - ref.json: "root pointer ref" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 783 - ref.json: "root pointer ref" - "recursive mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/additionalProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/$ref/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/additionalProperties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/additionalProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/$ref/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/additionalProperties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 784 - ref.json: "relative pointer ref to object" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 785 - ref.json: "relative pointer ref to object" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/properties/foo/type",
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/properties/foo/type",
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 786 - ref.json: "relative pointer ref to array" - "match array" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 787 - ref.json: "relative pointer ref to array" - "mismatch array" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/prefixItems/0/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/prefixItems/1/$ref/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/prefixItems/0/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/prefixItems/1/$ref/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/prefixItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 788 - ref.json: "escaped pointer ref" - "slash invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/slash~1field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/slash",
    #       "keywordLocation": "/properties/slash/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/slash~1field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/slash",
    #       "keywordLocation": "/properties/slash/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 789 - ref.json: "escaped pointer ref" - "tilde invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/tilde~0field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/tilde",
    #       "keywordLocation": "/properties/tilde/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/tilde~0field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/tilde",
    #       "keywordLocation": "/properties/tilde/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 790 - ref.json: "escaped pointer ref" - "percent invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/percent%25field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/percent",
    #       "keywordLocation": "/properties/percent/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/percent%25field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/percent",
    #       "keywordLocation": "/properties/percent/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 791 - ref.json: "escaped pointer ref" - "slash valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 792 - ref.json: "escaped pointer ref" - "tilde valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 793 - ref.json: "escaped pointer ref" - "percent valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 794 - ref.json: "nested refs" - "nested ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 795 - ref.json: "nested refs" - "nested ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/a/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/a/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 796 - ref.json: "ref applies alongside sibling keywords" - "ref valid, maxItems valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 797 - ref.json: "ref applies alongside sibling keywords" - "ref valid, maxItems invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 2 items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/maxItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 2 items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/maxItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 798 - ref.json: "ref applies alongside sibling keywords" - "ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/reffed/type",
    #       "error": "got string, not array",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/reffed/type",
    #       "error": "got string, not array",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 799 - ref.json: "remote ref, containing refs itself" - "remote ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 800 - ref.json: "remote ref, containing refs itself" - "remote ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/$defs/nonNegativeInteger/minimum",
    #       "error": "value is less than 0",
    #       "instanceLocation": "/minLength",
    #       "keywordLocation": "/$ref/allOf/3/$ref/properties/minLength/$ref/$ref/minimum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/allOf/3/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf",
    #       "error": "subschema 3 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/$defs/nonNegativeInteger/minimum",
    #       "error": "value is less than 0",
    #       "instanceLocation": "/minLength",
    #       "keywordLocation": "/$ref/allOf/3/$ref/properties/minLength/$ref/$ref/minimum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/meta/validation#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/allOf/3/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://json-schema.org/draft/2020-12/schema#/allOf",
    #       "error": "subschema 3 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 801 - ref.json: "property named $ref that is not a reference" - "property named $ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 802 - ref.json: "property named $ref that is not a reference" - "property named $ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/$ref",
    #       "keywordLocation": "/properties/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/$ref",
    #       "keywordLocation": "/properties/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 803 - ref.json: "property named $ref, containing an actual $ref" - "property named $ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 804 - ref.json: "property named $ref, containing an actual $ref" - "property named $ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/is-string/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/$ref",
    #       "keywordLocation": "/properties/$ref/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/is-string/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/$ref",
    #       "keywordLocation": "/properties/$ref/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 805 - ref.json: "$ref to boolean schema true" - "any value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 806 - ref.json: "$ref to boolean schema false" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/bool",
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/bool",
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 807 - ref.json: "Recursive references between schemas" - "valid tree" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 808 - ref.json: "Recursive references between schemas" - "invalid tree" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/node#/properties/value/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "/nodes/0/subtree/nodes/0/value",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties/value/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/node#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0/subtree/nodes/0",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree#/properties/nodes/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/nodes/0/subtree/nodes",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0/subtree",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/node#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree#/properties/nodes/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/nodes",
    #       "keywordLocation": "/properties/nodes/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/node#/properties/value/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "/nodes/0/subtree/nodes/0/value",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties/value/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/node#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0/subtree/nodes/0",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree#/properties/nodes/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/nodes/0/subtree/nodes",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0/subtree",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/node#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree#/properties/nodes/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/nodes",
    #       "keywordLocation": "/properties/nodes/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/tree#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 809 - ref.json: "refs with quote" - "object with numbers is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 810 - ref.json: "refs with quote" - "object with strings is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/foo%22bar/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\"bar",
    #       "keywordLocation": "/properties/foo\"bar/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/foo%22bar/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\"bar",
    #       "keywordLocation": "/properties/foo\"bar/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 811 - ref.json: "ref creates new scope when adjacent to keywords" - "referenced subschema doesn't see annotations from properties" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/A/unevaluatedProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/prop1",
    #       "keywordLocation": "/$ref/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/A/unevaluatedProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/A/unevaluatedProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/prop1",
    #       "keywordLocation": "/$ref/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/A/unevaluatedProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 812 - ref.json: "naive replacement of $ref with its destination is not correct" - "do not evaluate the $ref inside the enum, matching any string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 813 - ref.json: "naive replacement of $ref with its destination is not correct" - "do not evaluate the $ref inside the enum, definition exact match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 814 - ref.json: "naive replacement of $ref with its destination is not correct" - "match the enum exactly" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 815 - ref.json: "refs with relative uris and defs" - "invalid on inner field" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 816 - ref.json: "refs with relative uris and defs" - "invalid on outer field" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/$ref/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/$ref/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/$defs/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 817 - ref.json: "refs with relative uris and defs" - "valid on both fields" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 818 - ref.json: "relative refs with absolute uris and defs" - "invalid on inner field" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 819 - ref.json: "relative refs with absolute uris and defs" - "invalid on outer field" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/$ref/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/$ref/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/$defs/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 820 - ref.json: "relative refs with absolute uris and defs" - "valid on both fields" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 821 - ref.json: "$id must be resolved against nearest parent, not just immediate parent" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 822 - ref.json: "$id must be resolved against nearest parent, not just immediate parent" - "non-number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/b/d.json#/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/a.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/b/d.json#/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/a.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 823 - ref.json: "order of evaluation: $id and $ref" - "data is valid against first definition" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 824 - ref.json: "order of evaluation: $id and $ref" - "data is invalid against first definition" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://example.com/draft2020-12/ref-and-id1/int.json#/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://example.com/draft2020-12/ref-and-id1/int.json#/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 825 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is valid against first definition" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 826 - ref.json: "order of evaluation: $id and $anchor and $ref" - "data is invalid against first definition" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://example.com/draft2020-12/ref-and-id2/base.json#/$defs/bigint/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://example.com/draft2020-12/ref-and-id2/base.json#/$defs/bigint/maximum",
    #       "error": "value is greater than 10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 827 - ref.json: "simple URN base URI with $ref via the URN" - "valid under the URN IDed schema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 828 - ref.json: "simple URN base URI with $ref via the URN" - "invalid under the URN IDed schema" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/minimum",
    #       "error": "value is less than 30",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/minimum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/minimum",
    #       "error": "value is less than 30",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/minimum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 829 - ref.json: "simple URN base URI with JSON pointer" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 830 - ref.json: "simple URN base URI with JSON pointer" - "a non-string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 831 - ref.json: "URN base URI with NSS" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 832 - ref.json: "URN base URI with NSS" - "a non-string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:example:1/406/47452/2#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:example:1/406/47452/2#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:example:1/406/47452/2#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:example:1/406/47452/2#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 833 - ref.json: "URN base URI with r-component" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 834 - ref.json: "URN base URI with r-component" - "a non-string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 835 - ref.json: "URN base URI with q-component" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 836 - ref.json: "URN base URI with q-component" - "a non-string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 837 - ref.json: "URN base URI with URN and JSON pointer ref" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 838 - ref.json: "URN base URI with URN and JSON pointer ref" - "a non-string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 839 - ref.json: "URN base URI with URN and anchor ref" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 840 - ref.json: "URN base URI with URN and anchor ref" - "a non-string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 841 - ref.json: "URN ref with nested pointer ref" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 842 - ref.json: "URN ref with nested pointer ref" - "a non-string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-4321-ffff-ffff-1234feebdaed#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-4321-ffff-ffff-1234feebdaed#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 843 - ref.json: "ref to if" - "a non-integer is invalid due to the $ref" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/ref/if#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/ref/if#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 844 - ref.json: "ref to if" - "an integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 845 - ref.json: "ref to then" - "a non-integer is invalid due to the $ref" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/ref/then#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/ref/then#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 846 - ref.json: "ref to then" - "an integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 847 - ref.json: "ref to else" - "a non-integer is invalid due to the $ref" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/ref/else#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/ref/else#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 848 - ref.json: "ref to else" - "an integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 849 - ref.json: "ref with absolute-path-reference" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 850 - ref.json: "ref with absolute-path-reference" - "an integer is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/absref/foobar.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/absref/foobar.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 851 - ref.json: "$id with file URI still resolves pointers - *nix" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 852 - ref.json: "$id with file URI still resolves pointers - *nix" - "non-number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "file:///folder/file.json#/$defs/foo/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "file:///folder/file.json#/$defs/foo/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 853 - ref.json: "$id with file URI still resolves pointers - windows" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 854 - ref.json: "$id with file URI still resolves pointers - windows" - "non-number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "file:///c:/folder/file.json#/$defs/foo/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "file:///c:/folder/file.json#/$defs/foo/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 855 - ref.json: "empty tokens in $ref json-pointer" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 856 - ref.json: "empty tokens in $ref json-pointer" - "non-number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs//$defs//type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs//$defs//type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 857 - refRemote.json: "remote ref" - "remote ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 858 - refRemote.json: "remote ref" - "remote ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/integer.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 859 - refRemote.json: "fragment within remote ref" - "remote fragment valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 860 - refRemote.json: "fragment within remote ref" - "remote fragment invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/subSchemas.json#/$defs/integer/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/subSchemas.json#/$defs/integer/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 861 - refRemote.json: "anchor within remote ref" - "remote anchor valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 862 - refRemote.json: "anchor within remote ref" - "remote anchor invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/locationIndependentIdentifier.json#/$defs/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/locationIndependentIdentifier.json#/$defs/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 863 - refRemote.json: "ref within remote ref" - "ref within ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 864 - refRemote.json: "ref within remote ref" - "ref within ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/subSchemas.json#/$defs/integer/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/subSchemas.json#/$defs/integer/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 865 - refRemote.json: "base URI change" - "base URI change ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 866 - refRemote.json: "base URI change" - "base URI change ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/baseUriChange/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/baseUriChange/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/baseUriChange/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/baseUriChange/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 867 - refRemote.json: "base URI change - change folder" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 868 - refRemote.json: "base URI change - change folder" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/baseUriChangeFolder/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/properties/list/$ref/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/baseUriChangeFolder/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/properties/list/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/scope_change_defs1.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/baseUriChangeFolder/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/properties/list/$ref/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/baseUriChangeFolder/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/properties/list/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/scope_change_defs1.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 869 - refRemote.json: "base URI change - change folder in subschema" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 870 - refRemote.json: "base URI change - change folder in subschema" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/baseUriChangeFolderInSubschema/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/properties/list/$ref/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/baseUriChangeFolderInSubschema/#/$defs/bar/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/properties/list/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/scope_change_defs2.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/baseUriChangeFolderInSubschema/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/properties/list/$ref/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/baseUriChangeFolderInSubschema/#/$defs/bar/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/properties/list/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/scope_change_defs2.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 871 - refRemote.json: "root ref in remote ref" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 872 - refRemote.json: "root ref in remote ref" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 873 - refRemote.json: "root ref in remote ref" - "object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/name-defs.json#/$defs/orNull/anyOf/0/type",
    #       "error": "got object, not null",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/name-defs.json#/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf/1/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/name-defs.json#/$defs/orNull/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/object#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/name-defs.json#/$defs/orNull/anyOf/0/type",
    #       "error": "got object, not null",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/name-defs.json#/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf/1/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/name-defs.json#/$defs/orNull/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/object#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 874 - refRemote.json: "remote ref with ref to defs" - "invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/ref-and-defs.json#/$defs/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/$ref/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/ref-and-defs.json#/$defs/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/ref-and-defs.json#/$defs/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/$ref/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/ref-and-defs.json#/$defs/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 875 - refRemote.json: "remote ref with ref to defs" - "valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 876 - refRemote.json: "Location-independent identifier in remote ref" - "integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 877 - refRemote.json: "Location-independent identifier in remote ref" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/locationIndependentIdentifier.json#/$defs/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/locationIndependentIdentifier.json#/$defs/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 878 - refRemote.json: "retrieved nested refs resolve relative to their URI not $id" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/name/foo",
    #       "keywordLocation": "/properties/name/$ref/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/foo-ref-string.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/some-id#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/string.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/name/foo",
    #       "keywordLocation": "/properties/name/$ref/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/nested/foo-ref-string.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/some-id#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 879 - refRemote.json: "retrieved nested refs resolve relative to their URI not $id" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 880 - refRemote.json: "remote HTTP ref with different $id" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/real-id-ref-string.json#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/real-id-ref-string.json#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 881 - refRemote.json: "remote HTTP ref with different $id" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 882 - refRemote.json: "remote HTTP ref with different URN $id" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:feebdaed-ffff-0000-ffff-0000deadbeef#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:feebdaed-ffff-0000-ffff-0000deadbeef#/$defs/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 883 - refRemote.json: "remote HTTP ref with different URN $id" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 884 - refRemote.json: "remote HTTP ref with nested absolute ref" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/the-nested-id.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/the-nested-id.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 885 - refRemote.json: "remote HTTP ref with nested absolute ref" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 886 - refRemote.json: "$ref to $ref finds detached $anchor" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 887 - refRemote.json: "$ref to $ref finds detached $anchor" - "non-number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/detached-ref.json#/$defs/detached/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2020-12/detached-ref.json#/$defs/detached/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 888 - required.json: "required validation" - "present required property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 889 - required.json: "required validation" - "non-present required property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 890 - required.json: "required validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 891 - required.json: "required validation" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 892 - required.json: "required validation" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 893 - required.json: "required default validation" - "not required by default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 894 - required.json: "required with empty array" - "property not required" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 895 - required.json: "required with escaped characters" - "object with all properties present is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 896 - required.json: "required with escaped characters" - "object with some properties missing is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: foo\\bar, foo\rbar, foo\tbar, foo\fbar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: foo\\bar, foo\rbar, foo\tbar, foo\fbar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 897 - required.json: "required properties whose names are Javascript object property names" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 898 - required.json: "required properties whose names are Javascript object property names" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 899 - required.json: "required properties whose names are Javascript object property names" - "none of the properties mentioned" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, toString, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, toString, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 900 - required.json: "required properties whose names are Javascript object property names" - "__proto__ present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: toString, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: toString, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 901 - required.json: "required properties whose names are Javascript object property names" - "toString present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 902 - required.json: "required properties whose names are Javascript object property names" - "constructor present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, toString",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, toString",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 903 - required.json: "required properties whose names are Javascript object property names" - "all present" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 904 - type.json: "integer type matches integers" - "an integer is an integer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 905 - type.json: "integer type matches integers" - "a float with zero fractional part is an integer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 906 - type.json: "integer type matches integers" - "a float is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 907 - type.json: "integer type matches integers" - "a string is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 908 - type.json: "integer type matches integers" - "a string is still not an integer, even if it looks like one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 909 - type.json: "integer type matches integers" - "an object is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 910 - type.json: "integer type matches integers" - "an array is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 911 - type.json: "integer type matches integers" - "a boolean is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 912 - type.json: "integer type matches integers" - "null is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 913 - type.json: "number type matches numbers" - "an integer is a number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 914 - type.json: "number type matches numbers" - "a float with zero fractional part is a number (and an integer)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 915 - type.json: "number type matches numbers" - "a float is a number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 916 - type.json: "number type matches numbers" - "a string is not a number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 917 - type.json: "number type matches numbers" - "a string is still not a number, even if it looks like one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 918 - type.json: "number type matches numbers" - "an object is not a number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 919 - type.json: "number type matches numbers" - "an array is not a number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 920 - type.json: "number type matches numbers" - "a boolean is not a number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 921 - type.json: "number type matches numbers" - "null is not a number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 922 - type.json: "string type matches strings" - "1 is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 923 - type.json: "string type matches strings" - "a float is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 924 - type.json: "string type matches strings" - "a string is a string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 925 - type.json: "string type matches strings" - "a string is still a string, even if it looks like a number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 926 - type.json: "string type matches strings" - "an empty string is still a string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 927 - type.json: "string type matches strings" - "an object is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 928 - type.json: "string type matches strings" - "an array is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 929 - type.json: "string type matches strings" - "a boolean is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 930 - type.json: "string type matches strings" - "null is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 931 - type.json: "object type matches objects" - "an integer is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 932 - type.json: "object type matches objects" - "a float is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 933 - type.json: "object type matches objects" - "a string is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 934 - type.json: "object type matches objects" - "an object is an object" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 935 - type.json: "object type matches objects" - "an array is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 936 - type.json: "object type matches objects" - "a boolean is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 937 - type.json: "object type matches objects" - "null is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 938 - type.json: "array type matches arrays" - "an integer is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 939 - type.json: "array type matches arrays" - "a float is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 940 - type.json: "array type matches arrays" - "a string is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 941 - type.json: "array type matches arrays" - "an object is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 942 - type.json: "array type matches arrays" - "an array is an array" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 943 - type.json: "array type matches arrays" - "a boolean is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 944 - type.json: "array type matches arrays" - "null is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 945 - type.json: "boolean type matches booleans" - "an integer is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 946 - type.json: "boolean type matches booleans" - "zero is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 947 - type.json: "boolean type matches booleans" - "a float is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 948 - type.json: "boolean type matches booleans" - "a string is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 949 - type.json: "boolean type matches booleans" - "an empty string is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 950 - type.json: "boolean type matches booleans" - "an object is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 951 - type.json: "boolean type matches booleans" - "an array is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 952 - type.json: "boolean type matches booleans" - "true is a boolean" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 953 - type.json: "boolean type matches booleans" - "false is a boolean" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 954 - type.json: "boolean type matches booleans" - "null is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 955 - type.json: "null type matches only the null object" - "an integer is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 956 - type.json: "null type matches only the null object" - "a float is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 957 - type.json: "null type matches only the null object" - "zero is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 958 - type.json: "null type matches only the null object" - "a string is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 959 - type.json: "null type matches only the null object" - "an empty string is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 960 - type.json: "null type matches only the null object" - "an object is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 961 - type.json: "null type matches only the null object" - "an array is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 962 - type.json: "null type matches only the null object" - "true is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 963 - type.json: "null type matches only the null object" - "false is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 964 - type.json: "null type matches only the null object" - "null is null" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 965 - type.json: "multiple types can be specified in an array" - "an integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 966 - type.json: "multiple types can be specified in an array" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 967 - type.json: "multiple types can be specified in an array" - "a float is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 968 - type.json: "multiple types can be specified in an array" - "an object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 969 - type.json: "multiple types can be specified in an array" - "an array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 970 - type.json: "multiple types can be specified in an array" - "a boolean is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 971 - type.json: "multiple types can be specified in an array" - "null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 972 - type.json: "type as array with one item" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 973 - type.json: "type as array with one item" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 974 - type.json: "type: array or object" - "array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 975 - type.json: "type: array or object" - "object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 976 - type.json: "type: array or object" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 977 - type.json: "type: array or object" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 978 - type.json: "type: array or object" - "null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 979 - type.json: "type: array, object or null" - "array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 980 - type.json: "type: array, object or null" - "object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 981 - type.json: "type: array, object or null" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 982 - type.json: "type: array, object or null" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of array, object, null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of array, object, null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 983 - type.json: "type: array, object or null" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not one of array, object, null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not one of array, object, null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 984 - unevaluatedItems.json: "unevaluatedItems true" - "with no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 985 - unevaluatedItems.json: "unevaluatedItems true" - "with unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 986 - unevaluatedItems.json: "unevaluatedItems false" - "with no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 987 - unevaluatedItems.json: "unevaluatedItems false" - "with unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 988 - unevaluatedItems.json: "unevaluatedItems as schema" - "with no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 989 - unevaluatedItems.json: "unevaluatedItems as schema" - "with valid unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 990 - unevaluatedItems.json: "unevaluatedItems as schema" - "with invalid unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 991 - unevaluatedItems.json: "unevaluatedItems with uniform items" - "unevaluatedItems doesn't apply" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 992 - unevaluatedItems.json: "unevaluatedItems with tuple" - "with no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 993 - unevaluatedItems.json: "unevaluatedItems with tuple" - "with unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 994 - unevaluatedItems.json: "unevaluatedItems with items and prefixItems" - "unevaluatedItems doesn't apply" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 995 - unevaluatedItems.json: "unevaluatedItems with items" - "valid under items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 996 - unevaluatedItems.json: "unevaluatedItems with items" - "invalid under items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 997 - unevaluatedItems.json: "unevaluatedItems with nested tuple" - "with no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 998 - unevaluatedItems.json: "unevaluatedItems with nested tuple" - "with unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 999 - unevaluatedItems.json: "unevaluatedItems with nested items" - "with only (valid) additional items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1000 - unevaluatedItems.json: "unevaluatedItems with nested items" - "with no additional items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1001 - unevaluatedItems.json: "unevaluatedItems with nested items" - "with invalid additional item" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1002 - unevaluatedItems.json: "unevaluatedItems with nested prefixItems and items" - "with no additional items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1003 - unevaluatedItems.json: "unevaluatedItems with nested prefixItems and items" - "with additional items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1004 - unevaluatedItems.json: "unevaluatedItems with nested unevaluatedItems" - "with no additional items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1005 - unevaluatedItems.json: "unevaluatedItems with nested unevaluatedItems" - "with additional items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1006 - unevaluatedItems.json: "unevaluatedItems with anyOf" - "when one schema matches and has no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1007 - unevaluatedItems.json: "unevaluatedItems with anyOf" - "when one schema matches and has unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1008 - unevaluatedItems.json: "unevaluatedItems with anyOf" - "when two schemas match and has no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1009 - unevaluatedItems.json: "unevaluatedItems with anyOf" - "when two schemas match and has unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1010 - unevaluatedItems.json: "unevaluatedItems with oneOf" - "with no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1011 - unevaluatedItems.json: "unevaluatedItems with oneOf" - "with unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1012 - unevaluatedItems.json: "unevaluatedItems with not" - "with unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1013 - unevaluatedItems.json: "unevaluatedItems with if/then/else" - "when if matches and it has no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1014 - unevaluatedItems.json: "unevaluatedItems with if/then/else" - "when if matches and it has unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1015 - unevaluatedItems.json: "unevaluatedItems with if/then/else" - "when if doesn't match and it has no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1016 - unevaluatedItems.json: "unevaluatedItems with if/then/else" - "when if doesn't match and it has unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/4",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/4",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1017 - unevaluatedItems.json: "unevaluatedItems with boolean schemas" - "with no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1018 - unevaluatedItems.json: "unevaluatedItems with boolean schemas" - "with unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1019 - unevaluatedItems.json: "unevaluatedItems with $ref" - "with no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1020 - unevaluatedItems.json: "unevaluatedItems with $ref" - "with unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1021 - unevaluatedItems.json: "unevaluatedItems before $ref" - "with no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1022 - unevaluatedItems.json: "unevaluatedItems before $ref" - "with unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1023 - unevaluatedItems.json: "unevaluatedItems with $dynamicRef" - "with no unevaluated items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1024 - unevaluatedItems.json: "unevaluatedItems with $dynamicRef" - "with unevaluated items" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://example.com/unevaluated-items-with-dynamic-ref/baseSchema#/unevaluatedItems",
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/$ref/unevaluatedItems"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://example.com/unevaluated-items-with-dynamic-ref/baseSchema#/unevaluatedItems",
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://example.com/unevaluated-items-with-dynamic-ref/baseSchema#/unevaluatedItems",
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/$ref/unevaluatedItems"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://example.com/unevaluated-items-with-dynamic-ref/baseSchema#/unevaluatedItems",
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1025 - unevaluatedItems.json: "unevaluatedItems can't see inside cousins" - "always fails" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/allOf/1/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/allOf/1/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1026 - unevaluatedItems.json: "item is evaluated in an uncle schema to unevaluatedItems" - "no extra items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1027 - unevaluatedItems.json: "item is evaluated in an uncle schema to unevaluatedItems" - "uncle keyword evaluation is not significant" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/foo/1",
    #       "keywordLocation": "/properties/foo/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/unevaluatedItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/foo/1",
    #       "keywordLocation": "/properties/foo/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/unevaluatedItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1028 - unevaluatedItems.json: "unevaluatedItems depends on adjacent contains" - "second item is evaluated by contains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1029 - unevaluatedItems.json: "unevaluatedItems depends on adjacent contains" - "contains fails, second item is not evaluated" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/type"
    #     },
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/type"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     },
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/type"
    #     },
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/type"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     },
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1030 - unevaluatedItems.json: "unevaluatedItems depends on adjacent contains" - "contains passes, second item is not evaluated" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1031 - unevaluatedItems.json: "unevaluatedItems depends on multiple nested contains" - "5 not evaluated, passes unevaluatedItems" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1032 - unevaluatedItems.json: "unevaluatedItems depends on multiple nested contains" - "7 not evaluated, fails unevaluatedItems" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 5",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/unevaluatedItems/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 5",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/unevaluatedItems/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1033 - unevaluatedItems.json: "unevaluatedItems and contains interact to control item dependency relationship" - "empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1034 - unevaluatedItems.json: "unevaluatedItems and contains interact to control item dependency relationship" - "only a's are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1035 - unevaluatedItems.json: "unevaluatedItems and contains interact to control item dependency relationship" - "a's and b's are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1036 - unevaluatedItems.json: "unevaluatedItems and contains interact to control item dependency relationship" - "a's, b's and c's are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1037 - unevaluatedItems.json: "unevaluatedItems and contains interact to control item dependency relationship" - "only b's are invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1038 - unevaluatedItems.json: "unevaluatedItems and contains interact to control item dependency relationship" - "only c's are invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1039 - unevaluatedItems.json: "unevaluatedItems and contains interact to control item dependency relationship" - "only b's and c's are invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/4",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/4",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1040 - unevaluatedItems.json: "unevaluatedItems and contains interact to control item dependency relationship" - "only a's and c's are invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/4",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/4",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1041 - unevaluatedItems.json: "non-array instances are valid" - "ignores booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1042 - unevaluatedItems.json: "non-array instances are valid" - "ignores integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1043 - unevaluatedItems.json: "non-array instances are valid" - "ignores floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1044 - unevaluatedItems.json: "non-array instances are valid" - "ignores objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1045 - unevaluatedItems.json: "non-array instances are valid" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1046 - unevaluatedItems.json: "non-array instances are valid" - "ignores null" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1047 - unevaluatedItems.json: "unevaluatedItems with null instance elements" - "allows null elements" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1048 - unevaluatedItems.json: "unevaluatedItems can see annotations from if without then and else" - "valid in case if is evaluated" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1049 - unevaluatedItems.json: "unevaluatedItems can see annotations from if without then and else" - "invalid in case if is evaluated" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/unevaluatedItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 1050 - unevaluatedProperties.json: "unevaluatedProperties true" - "with no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1051 - unevaluatedProperties.json: "unevaluatedProperties true" - "with unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1052 - unevaluatedProperties.json: "unevaluatedProperties schema" - "with no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1053 - unevaluatedProperties.json: "unevaluatedProperties schema" - "with valid unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1054 - unevaluatedProperties.json: "unevaluatedProperties schema" - "with invalid unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 3",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties/minLength"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 3",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties/minLength"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1055 - unevaluatedProperties.json: "unevaluatedProperties false" - "with no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1056 - unevaluatedProperties.json: "unevaluatedProperties false" - "with unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1057 - unevaluatedProperties.json: "unevaluatedProperties with adjacent properties" - "with no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1058 - unevaluatedProperties.json: "unevaluatedProperties with adjacent properties" - "with unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1059 - unevaluatedProperties.json: "unevaluatedProperties with adjacent patternProperties" - "with no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1060 - unevaluatedProperties.json: "unevaluatedProperties with adjacent patternProperties" - "with unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1061 - unevaluatedProperties.json: "unevaluatedProperties with adjacent additionalProperties" - "with no additional properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1062 - unevaluatedProperties.json: "unevaluatedProperties with adjacent additionalProperties" - "with additional properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1063 - unevaluatedProperties.json: "unevaluatedProperties with nested properties" - "with no additional properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1064 - unevaluatedProperties.json: "unevaluatedProperties with nested properties" - "with additional properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1065 - unevaluatedProperties.json: "unevaluatedProperties with nested patternProperties" - "with no additional properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1066 - unevaluatedProperties.json: "unevaluatedProperties with nested patternProperties" - "with additional properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1067 - unevaluatedProperties.json: "unevaluatedProperties with nested additionalProperties" - "with no additional properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1068 - unevaluatedProperties.json: "unevaluatedProperties with nested additionalProperties" - "with additional properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1069 - unevaluatedProperties.json: "unevaluatedProperties with nested unevaluatedProperties" - "with no nested unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1070 - unevaluatedProperties.json: "unevaluatedProperties with nested unevaluatedProperties" - "with nested unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1071 - unevaluatedProperties.json: "unevaluatedProperties with anyOf" - "when one matches and has no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1072 - unevaluatedProperties.json: "unevaluatedProperties with anyOf" - "when one matches and has unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1073 - unevaluatedProperties.json: "unevaluatedProperties with anyOf" - "when two match and has no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1074 - unevaluatedProperties.json: "unevaluatedProperties with anyOf" - "when two match and has unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1075 - unevaluatedProperties.json: "unevaluatedProperties with oneOf" - "with no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1076 - unevaluatedProperties.json: "unevaluatedProperties with oneOf" - "with unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1077 - unevaluatedProperties.json: "unevaluatedProperties with not" - "with unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1078 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else" - "when if is true and has no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1079 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else" - "when if is true and has unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1080 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else" - "when if is false and has no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1081 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else" - "when if is false and has unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1082 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, then not defined" - "when if is true and has no unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1083 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, then not defined" - "when if is true and has unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1084 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, then not defined" - "when if is false and has no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1085 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, then not defined" - "when if is false and has unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1086 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, else not defined" - "when if is true and has no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1087 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, else not defined" - "when if is true and has unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1088 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, else not defined" - "when if is false and has no unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1089 - unevaluatedProperties.json: "unevaluatedProperties with if/then/else, else not defined" - "when if is false and has unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1090 - unevaluatedProperties.json: "unevaluatedProperties with dependentSchemas" - "with no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1091 - unevaluatedProperties.json: "unevaluatedProperties with dependentSchemas" - "with unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1092 - unevaluatedProperties.json: "unevaluatedProperties with boolean schemas" - "with no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1093 - unevaluatedProperties.json: "unevaluatedProperties with boolean schemas" - "with unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1094 - unevaluatedProperties.json: "unevaluatedProperties with $ref" - "with no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1095 - unevaluatedProperties.json: "unevaluatedProperties with $ref" - "with unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1096 - unevaluatedProperties.json: "unevaluatedProperties before $ref" - "with no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1097 - unevaluatedProperties.json: "unevaluatedProperties before $ref" - "with unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1098 - unevaluatedProperties.json: "unevaluatedProperties with $dynamicRef" - "with no unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1099 - unevaluatedProperties.json: "unevaluatedProperties with $dynamicRef" - "with unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://example.com/unevaluated-properties-with-dynamic-ref/baseSchema#/unevaluatedProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/$ref/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://example.com/unevaluated-properties-with-dynamic-ref/baseSchema#/unevaluatedProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://example.com/unevaluated-properties-with-dynamic-ref/baseSchema#/unevaluatedProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/baz",
    #       "keywordLocation": "/$ref/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://example.com/unevaluated-properties-with-dynamic-ref/baseSchema#/unevaluatedProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1100 - unevaluatedProperties.json: "unevaluatedProperties can't see inside cousins" - "always fails" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1101 - unevaluatedProperties.json: "unevaluatedProperties can't see inside cousins (reverse order)" - "always fails" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1102 - unevaluatedProperties.json: "nested unevaluatedProperties, outer false, inner true, properties outside" - "with no nested unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1103 - unevaluatedProperties.json: "nested unevaluatedProperties, outer false, inner true, properties outside" - "with nested unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1104 - unevaluatedProperties.json: "nested unevaluatedProperties, outer false, inner true, properties inside" - "with no nested unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1105 - unevaluatedProperties.json: "nested unevaluatedProperties, outer false, inner true, properties inside" - "with nested unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1106 - unevaluatedProperties.json: "nested unevaluatedProperties, outer true, inner false, properties outside" - "with no nested unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1107 - unevaluatedProperties.json: "nested unevaluatedProperties, outer true, inner false, properties outside" - "with nested unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1108 - unevaluatedProperties.json: "nested unevaluatedProperties, outer true, inner false, properties inside" - "with no nested unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1109 - unevaluatedProperties.json: "nested unevaluatedProperties, outer true, inner false, properties inside" - "with nested unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1110 - unevaluatedProperties.json: "cousin unevaluatedProperties, true and false, true with properties" - "with no nested unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1111 - unevaluatedProperties.json: "cousin unevaluatedProperties, true and false, true with properties" - "with nested unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1112 - unevaluatedProperties.json: "cousin unevaluatedProperties, true and false, false with properties" - "with no nested unevaluated properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1113 - unevaluatedProperties.json: "cousin unevaluatedProperties, true and false, false with properties" - "with nested unevaluated properties" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1114 - unevaluatedProperties.json: "property is evaluated in an uncle schema to unevaluatedProperties" - "no extra properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1115 - unevaluatedProperties.json: "property is evaluated in an uncle schema to unevaluatedProperties" - "uncle keyword evaluation is not significant" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo/faz",
    #       "keywordLocation": "/properties/foo/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo/faz",
    #       "keywordLocation": "/properties/foo/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1116 - unevaluatedProperties.json: "in-place applicator siblings, allOf has unevaluated" - "base case: both properties present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1117 - unevaluatedProperties.json: "in-place applicator siblings, allOf has unevaluated" - "in place applicator siblings, bar is missing" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1118 - unevaluatedProperties.json: "in-place applicator siblings, allOf has unevaluated" - "in place applicator siblings, foo is missing" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1119 - unevaluatedProperties.json: "in-place applicator siblings, anyOf has unevaluated" - "base case: both properties present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1120 - unevaluatedProperties.json: "in-place applicator siblings, anyOf has unevaluated" - "in place applicator siblings, bar is missing" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/unevaluatedProperties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1121 - unevaluatedProperties.json: "in-place applicator siblings, anyOf has unevaluated" - "in place applicator siblings, foo is missing" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1122 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Empty is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1123 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Single is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1124 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Unevaluated on 1st level is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/y",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/y",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1125 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Nested is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1126 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Unevaluated on 2nd level is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/unevaluatedProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x/y",
    #       "keywordLocation": "/properties/x/$ref/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/unevaluatedProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x/$ref/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/unevaluatedProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x/y",
    #       "keywordLocation": "/properties/x/$ref/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/unevaluatedProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x/$ref/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1127 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Deep nested is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1128 - unevaluatedProperties.json: "unevaluatedProperties + single cyclic ref" - "Unevaluated on 3rd level is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/unevaluatedProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x/x/y",
    #       "keywordLocation": "/properties/x/$ref/properties/x/$ref/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/unevaluatedProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/x/x",
    #       "keywordLocation": "/properties/x/$ref/properties/x/$ref/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x/$ref/properties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/unevaluatedProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x/x/y",
    #       "keywordLocation": "/properties/x/$ref/properties/x/$ref/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/unevaluatedProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/x/x",
    #       "keywordLocation": "/properties/x/$ref/properties/x/$ref/unevaluatedProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/properties/x/$ref/properties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1129 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "Empty is invalid (no x or y)" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/two/required",
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf/0/$ref/required"
    #     },
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf"
    #     },
    #     {
    #       "error": "subschema 2 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/two/required",
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf/0/$ref/required"
    #     },
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf"
    #     },
    #     {
    #       "error": "subschema 2 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1130 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and b are invalid (no x or y)" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/two/required",
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf/0/$ref/required"
    #     },
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf"
    #     },
    #     {
    #       "error": "subschema 2 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/two/required",
    #       "error": "object is missing property: x",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf/0/$ref/required"
    #     },
    #     {
    #       "error": "object is missing property: y",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf"
    #     },
    #     {
    #       "error": "subschema 2 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1131 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "x and y are invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf"
    #     },
    #     {
    #       "error": "subschema 2 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/y",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf"
    #     },
    #     {
    #       "error": "subschema 2 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/y",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1132 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and x are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1133 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and y are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1134 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and b and x are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1135 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and b and y are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1136 - unevaluatedProperties.json: "unevaluatedProperties + ref inside allOf / oneOf" - "a and b and x and y are invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf"
    #     },
    #     {
    #       "error": "subschema 2 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/y",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/2/oneOf"
    #     },
    #     {
    #       "error": "subschema 2 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/x",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/y",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1137 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "Empty is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/two/oneOf/0/required",
    #       "error": "object is missing property: c",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf/0/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/two/oneOf/1/required",
    #       "error": "object is missing property: d",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf/1/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/two/oneOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf/1/required",
    #       "error": "object is missing property: b",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/1/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf/2/required",
    #       "error": "object is missing property: xx",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/2/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf/3/required",
    #       "error": "object is missing property: all",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/3/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/two/oneOf/0/required",
    #       "error": "object is missing property: c",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf/0/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/two/oneOf/1/required",
    #       "error": "object is missing property: d",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf/1/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/two/oneOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf/1/required",
    #       "error": "object is missing property: b",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/1/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf/2/required",
    #       "error": "object is missing property: xx",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/2/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf/3/required",
    #       "error": "object is missing property: all",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/3/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1138 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "a is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1139 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "b is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1140 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "c is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1141 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "d is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1142 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "a + b is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1143 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "a + c is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1144 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "a + d is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1145 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "b + c is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/b",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/c",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/b",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/c",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1146 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "b + d is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/b",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/d",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/b",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/d",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1147 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "c + d is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/two/oneOf",
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf/1/required",
    #       "error": "object is missing property: b",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/1/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf/2/required",
    #       "error": "object is missing property: xx",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/2/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf/3/required",
    #       "error": "object is missing property: all",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/3/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/c",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/d",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/two/oneOf",
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf/1/required",
    #       "error": "object is missing property: b",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/1/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf/2/required",
    #       "error": "object is missing property: xx",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/2/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf/3/required",
    #       "error": "object is missing property: all",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf/3/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/c",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/d",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1148 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1149 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + foox is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1150 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + foo is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1151 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + a is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1152 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + b is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "multiple subschemas are valid: 1, 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/b",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/xx",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "multiple subschemas are valid: 1, 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/b",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/xx",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1153 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + c is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "multiple subschemas are valid: 0, 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/c",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/xx",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "multiple subschemas are valid: 0, 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/c",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/xx",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1154 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "xx + d is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "multiple subschemas are valid: 0, 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/d",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/xx",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/one/oneOf",
    #       "error": "multiple subschemas are valid: 0, 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/$ref/oneOf"
    #     },
    #     {
    #       "error": "object is missing property: a",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/d",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/xx",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1155 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "all is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1156 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "all + foo is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1157 - unevaluatedProperties.json: "dynamic evalation inside nested refs" - "all + a is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1158 - unevaluatedProperties.json: "non-object instances are valid" - "ignores booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1159 - unevaluatedProperties.json: "non-object instances are valid" - "ignores integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1160 - unevaluatedProperties.json: "non-object instances are valid" - "ignores floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1161 - unevaluatedProperties.json: "non-object instances are valid" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1162 - unevaluatedProperties.json: "non-object instances are valid" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1163 - unevaluatedProperties.json: "non-object instances are valid" - "ignores null" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1164 - unevaluatedProperties.json: "unevaluatedProperties with null valued instance properties" - "allows null valued properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1165 - unevaluatedProperties.json: "unevaluatedProperties not affected by propertyNames" - "allows only number properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1166 - unevaluatedProperties.json: "unevaluatedProperties not affected by propertyNames" - "string property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/a",
    #       "keywordLocation": "/unevaluatedProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/a",
    #       "keywordLocation": "/unevaluatedProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1167 - unevaluatedProperties.json: "unevaluatedProperties can see annotations from if without then and else" - "valid in case if is evaluated" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1168 - unevaluatedProperties.json: "unevaluatedProperties can see annotations from if without then and else" - "invalid in case if is evaluated" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1169 - unevaluatedProperties.json: "dependentSchemas with unevaluatedProperties" - "unevaluatedProperties doesn't consider dependentSchemas" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1170 - unevaluatedProperties.json: "dependentSchemas with unevaluatedProperties" - "unevaluatedProperties doesn't see bar when foo2 is absent" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/unevaluatedProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/unevaluatedProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1171 - unevaluatedProperties.json: "dependentSchemas with unevaluatedProperties" - "unevaluatedProperties sees bar when foo2 is present" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 1172 - uniqueItems.json: "uniqueItems validation" - "unique array of integers is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1173 - uniqueItems.json: "uniqueItems validation" - "non-unique array of integers is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1174 - uniqueItems.json: "uniqueItems validation" - "non-unique array of more than two integers is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1175 - uniqueItems.json: "uniqueItems validation" - "numbers are unique if mathematically unequal" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1176 - uniqueItems.json: "uniqueItems validation" - "false is not equal to zero" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1177 - uniqueItems.json: "uniqueItems validation" - "true is not equal to one" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1178 - uniqueItems.json: "uniqueItems validation" - "unique array of strings is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1179 - uniqueItems.json: "uniqueItems validation" - "non-unique array of strings is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1180 - uniqueItems.json: "uniqueItems validation" - "unique array of objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1181 - uniqueItems.json: "uniqueItems validation" - "non-unique array of objects is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1182 - uniqueItems.json: "uniqueItems validation" - "property order of array of objects is ignored" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1183 - uniqueItems.json: "uniqueItems validation" - "unique array of nested objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1184 - uniqueItems.json: "uniqueItems validation" - "non-unique array of nested objects is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1185 - uniqueItems.json: "uniqueItems validation" - "unique array of arrays is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1186 - uniqueItems.json: "uniqueItems validation" - "non-unique array of arrays is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1187 - uniqueItems.json: "uniqueItems validation" - "non-unique array of more than two arrays is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1188 - uniqueItems.json: "uniqueItems validation" - "1 and true are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1189 - uniqueItems.json: "uniqueItems validation" - "0 and false are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1190 - uniqueItems.json: "uniqueItems validation" - "[1] and [true] are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1191 - uniqueItems.json: "uniqueItems validation" - "[0] and [false] are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1192 - uniqueItems.json: "uniqueItems validation" - "nested [1] and [true] are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1193 - uniqueItems.json: "uniqueItems validation" - "nested [0] and [false] are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1194 - uniqueItems.json: "uniqueItems validation" - "unique heterogeneous types are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1195 - uniqueItems.json: "uniqueItems validation" - "non-unique heterogeneous types are invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 4 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 4 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1196 - uniqueItems.json: "uniqueItems validation" - "different objects are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1197 - uniqueItems.json: "uniqueItems validation" - "objects are non-unique despite key order" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1198 - uniqueItems.json: "uniqueItems validation" - "{"a": false} and {"a": 0} are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1199 - uniqueItems.json: "uniqueItems validation" - "{"a": true} and {"a": 1} are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1200 - uniqueItems.json: "uniqueItems with an array of items" - "[false, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1201 - uniqueItems.json: "uniqueItems with an array of items" - "[true, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1202 - uniqueItems.json: "uniqueItems with an array of items" - "[false, false] from items array is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1203 - uniqueItems.json: "uniqueItems with an array of items" - "[true, true] from items array is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1204 - uniqueItems.json: "uniqueItems with an array of items" - "unique array extended from [false, true] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1205 - uniqueItems.json: "uniqueItems with an array of items" - "unique array extended from [true, false] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1206 - uniqueItems.json: "uniqueItems with an array of items" - "non-unique array extended from [false, true] is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 2 and 3 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 2 and 3 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1207 - uniqueItems.json: "uniqueItems with an array of items" - "non-unique array extended from [true, false] is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 2 and 3 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 2 and 3 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1208 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[false, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1209 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[true, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1210 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[false, false] from items array is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1211 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[true, true] from items array is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1212 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "extra items are invalid even if unique" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1213 - uniqueItems.json: "uniqueItems=false validation" - "unique array of integers is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1214 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of integers is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1215 - uniqueItems.json: "uniqueItems=false validation" - "numbers are unique if mathematically unequal" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1216 - uniqueItems.json: "uniqueItems=false validation" - "false is not equal to zero" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1217 - uniqueItems.json: "uniqueItems=false validation" - "true is not equal to one" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1218 - uniqueItems.json: "uniqueItems=false validation" - "unique array of objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1219 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1220 - uniqueItems.json: "uniqueItems=false validation" - "unique array of nested objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1221 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of nested objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1222 - uniqueItems.json: "uniqueItems=false validation" - "unique array of arrays is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1223 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of arrays is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1224 - uniqueItems.json: "uniqueItems=false validation" - "1 and true are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1225 - uniqueItems.json: "uniqueItems=false validation" - "0 and false are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1226 - uniqueItems.json: "uniqueItems=false validation" - "unique heterogeneous types are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1227 - uniqueItems.json: "uniqueItems=false validation" - "non-unique heterogeneous types are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1228 - uniqueItems.json: "uniqueItems=false with an array of items" - "[false, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1229 - uniqueItems.json: "uniqueItems=false with an array of items" - "[true, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1230 - uniqueItems.json: "uniqueItems=false with an array of items" - "[false, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1231 - uniqueItems.json: "uniqueItems=false with an array of items" - "[true, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1232 - uniqueItems.json: "uniqueItems=false with an array of items" - "unique array extended from [false, true] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1233 - uniqueItems.json: "uniqueItems=false with an array of items" - "unique array extended from [true, false] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1234 - uniqueItems.json: "uniqueItems=false with an array of items" - "non-unique array extended from [false, true] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1235 - uniqueItems.json: "uniqueItems=false with an array of items" - "non-unique array extended from [true, false] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1236 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[false, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1237 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[true, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1238 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[false, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1239 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[true, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1240 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "extra items are invalid even if unique" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 1241 - vocabulary.json: "schema that uses custom metaschema with with no validation vocabulary" - "applicator vocabulary still works" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://schema/using/no/validation#/properties/badProperty",
    #       "error": "property not permitted",
    #       "instanceLocation": "/badProperty",
    #       "keywordLocation": "/properties/badProperty"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://schema/using/no/validation#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://schema/using/no/validation#/properties/badProperty",
    #       "error": "property not permitted",
    #       "instanceLocation": "/badProperty",
    #       "keywordLocation": "/properties/badProperty"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://schema/using/no/validation#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1242 - vocabulary.json: "schema that uses custom metaschema with with no validation vocabulary" - "no validation: valid number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1243 - vocabulary.json: "schema that uses custom metaschema with with no validation vocabulary" - "no validation: invalid number, but it still validates" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1244 - vocabulary.json: "ignore unrecognized optional vocabulary" - "string value" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1245 - vocabulary.json: "ignore unrecognized optional vocabulary" - "number value" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 1246 - optional/anchor.json: "$anchor inside an enum is not a real identifier" - "exact match to enum, and type matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1247 - optional/anchor.json: "$anchor inside an enum is not a real identifier" - "in implementations that strip $anchor, this may match either $def" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/anchor_in_enum/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/real_identifier_in_schema/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/anchor_in_enum/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/real_identifier_in_schema/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1248 - optional/anchor.json: "$anchor inside an enum is not a real identifier" - "match $ref to $anchor" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1249 - optional/anchor.json: "$anchor inside an enum is not a real identifier" - "no match on enum or $ref to $anchor" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/anchor_in_enum/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/real_identifier_in_schema/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/anchor_in_enum/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/real_identifier_in_schema/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 1250 - optional/bignum.json: "integer" - "a bignum is an integer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1251 - optional/bignum.json: "integer" - "a negative bignum is an integer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1252 - optional/bignum.json: "number" - "a bignum is a number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1253 - optional/bignum.json: "number" - "a negative bignum is a number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1254 - optional/bignum.json: "string" - "a bignum is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1255 - optional/bignum.json: "maximum integer comparison" - "comparison works for high numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1256 - optional/bignum.json: "float comparison with high precision" - "comparison works for high numbers" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 972783798187987123879878123.18878137",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 972783798187987123879878123.18878137",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1257 - optional/bignum.json: "minimum integer comparison" - "comparison works for very negative numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1258 - optional/bignum.json: "float comparison with high precision on negative numbers" - "comparison works for very negative numbers" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to -972783798187987123879878123.18878137",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to -972783798187987123879878123.18878137",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 1259 - optional/cross-draft.json: "refs to historic drafts are processed as historic drafts" - "first item not a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 1260 - optional/dependencies-compatibility.json: "single dependency" - "neither" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1261 - optional/dependencies-compatibility.json: "single dependency" - "nondependant" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1262 - optional/dependencies-compatibility.json: "single dependency" - "with dependency" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1263 - optional/dependencies-compatibility.json: "single dependency" - "missing dependency" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "dependencies": {
    #     "bar": [
    #       "foo"
    #     ]
    #   }
    # }
    # data: {
    #   "bar": 2
    # }
    # result: 1
    1..1
}
ok 1264 - optional/dependencies-compatibility.json: "single dependency" - "ignores arrays" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1265 - optional/dependencies-compatibility.json: "single dependency" - "ignores strings" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1266 - optional/dependencies-compatibility.json: "single dependency" - "ignores other non-objects" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1267 - optional/dependencies-compatibility.json: "empty dependents" - "empty object" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1268 - optional/dependencies-compatibility.json: "empty dependents" - "object with one property" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1269 - optional/dependencies-compatibility.json: "empty dependents" - "non-object is valid" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1270 - optional/dependencies-compatibility.json: "multiple dependents required" - "neither" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1271 - optional/dependencies-compatibility.json: "multiple dependents required" - "nondependants" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1272 - optional/dependencies-compatibility.json: "multiple dependents required" - "with dependencies" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1273 - optional/dependencies-compatibility.json: "multiple dependents required" - "missing dependency" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "dependencies": {
    #     "quux": [
    #       "foo",
    #       "bar"
    #     ]
    #   }
    # }
    # data: {
    #   "foo": 1,
    #   "quux": 2
    # }
    # result: 1
    1..1
}
ok 1274 - optional/dependencies-compatibility.json: "multiple dependents required" - "missing other dependency" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "dependencies": {
    #     "quux": [
    #       "foo",
    #       "bar"
    #     ]
    #   }
    # }
    # data: {
    #   "bar": 1,
    #   "quux": 2
    # }
    # result: 1
    1..1
}
ok 1275 - optional/dependencies-compatibility.json: "multiple dependents required" - "missing both dependencies" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "dependencies": {
    #     "quux": [
    #       "foo",
    #       "bar"
    #     ]
    #   }
    # }
    # data: {
    #   "quux": 1
    # }
    # result: 1
    1..1
}
ok 1276 - optional/dependencies-compatibility.json: "dependencies with escaped characters" - "CRLF" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1277 - optional/dependencies-compatibility.json: "dependencies with escaped characters" - "quoted quotes" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1278 - optional/dependencies-compatibility.json: "dependencies with escaped characters" - "CRLF missing dependent" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "dependencies": {
    #     "foo\nbar": [
    #       "foo\rbar"
    #     ],
    #     "foo\"bar": [
    #       "foo'bar"
    #     ]
    #   }
    # }
    # data: {
    #   "foo": 2,
    #   "foo\nbar": 1
    # }
    # result: 1
    1..1
}
ok 1279 - optional/dependencies-compatibility.json: "dependencies with escaped characters" - "quoted quotes missing dependent" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "dependencies": {
    #     "foo\nbar": [
    #       "foo\rbar"
    #     ],
    #     "foo\"bar": [
    #       "foo'bar"
    #     ]
    #   }
    # }
    # data: {
    #   "foo\"bar": 2
    # }
    # result: 1
    1..1
}
ok 1280 - optional/dependencies-compatibility.json: "single schema dependency" - "valid" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1281 - optional/dependencies-compatibility.json: "single schema dependency" - "no dependency" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1282 - optional/dependencies-compatibility.json: "single schema dependency" - "wrong type" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "dependencies": {
    #     "bar": {
    #       "properties": {
    #         "bar": {
    #           "type": "integer"
    #         },
    #         "foo": {
    #           "type": "integer"
    #         }
    #       }
    #     }
    #   }
    # }
    # data: {
    #   "bar": 2,
    #   "foo": "quux"
    # }
    # result: 1
    1..1
}
ok 1283 - optional/dependencies-compatibility.json: "single schema dependency" - "wrong type other" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "dependencies": {
    #     "bar": {
    #       "properties": {
    #         "bar": {
    #           "type": "integer"
    #         },
    #         "foo": {
    #           "type": "integer"
    #         }
    #       }
    #     }
    #   }
    # }
    # data: {
    #   "bar": "quux",
    #   "foo": 2
    # }
    # result: 1
    1..1
}
ok 1284 - optional/dependencies-compatibility.json: "single schema dependency" - "wrong type both" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "dependencies": {
    #     "bar": {
    #       "properties": {
    #         "bar": {
    #           "type": "integer"
    #         },
    #         "foo": {
    #           "type": "integer"
    #         }
    #       }
    #     }
    #   }
    # }
    # data: {
    #   "bar": "quux",
    #   "foo": "quux"
    # }
    # result: 1
    1..1
}
ok 1285 - optional/dependencies-compatibility.json: "single schema dependency" - "ignores arrays" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1286 - optional/dependencies-compatibility.json: "single schema dependency" - "ignores strings" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1287 - optional/dependencies-compatibility.json: "single schema dependency" - "ignores other non-objects" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1288 - optional/dependencies-compatibility.json: "boolean subschemas" - "object with property having schema true is valid" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1289 - optional/dependencies-compatibility.json: "boolean subschemas" - "object with property having schema false is invalid" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "dependencies": {
    #     "bar": false,
    #     "foo": true
    #   }
    # }
    # data: {
    #   "bar": 2
    # }
    # result: 1
    1..1
}
ok 1290 - optional/dependencies-compatibility.json: "boolean subschemas" - "object with both properties is invalid" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "dependencies": {
    #     "bar": false,
    #     "foo": true
    #   }
    # }
    # data: {
    #   "bar": 2,
    #   "foo": 1
    # }
    # result: 1
    1..1
}
ok 1291 - optional/dependencies-compatibility.json: "boolean subschemas" - "empty object is valid" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1292 - optional/dependencies-compatibility.json: "schema dependencies with escaped characters" - "quoted tab" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1293 - optional/dependencies-compatibility.json: "schema dependencies with escaped characters" - "quoted quote" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "dependencies": {
    #     "foo\tbar": {
    #       "minProperties": 4
    #     },
    #     "foo'bar": {
    #       "required": [
    #         "foo\"bar"
    #       ]
    #     }
    #   }
    # }
    # data: {
    #   "foo'bar": {
    #     "foo\"bar": 1
    #   }
    # }
    # result: 1
    1..1
}
ok 1294 - optional/dependencies-compatibility.json: "schema dependencies with escaped characters" - "quoted tab invalid under dependent schema" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "dependencies": {
    #     "foo\tbar": {
    #       "minProperties": 4
    #     },
    #     "foo'bar": {
    #       "required": [
    #         "foo\"bar"
    #       ]
    #     }
    #   }
    # }
    # data: {
    #   "a": 2,
    #   "foo\tbar": 1
    # }
    # result: 1
    1..1
}
ok 1295 - optional/dependencies-compatibility.json: "schema dependencies with escaped characters" - "quoted quote invalid under dependent schema" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "dependencies": {
    #     "foo\tbar": {
    #       "minProperties": 4
    #     },
    #     "foo'bar": {
    #       "required": [
    #         "foo\"bar"
    #       ]
    #     }
    #   }
    # }
    # data: {
    #   "foo'bar": 1
    # }
    # result: 1
    1..1
}
# 
ok 1296 - optional/dynamicRef.json: "$dynamicRef skips over intermediate resources - pointer reference across resource boundary" - "integer property passes" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1297 - optional/dynamicRef.json: "$dynamicRef skips over intermediate resources - pointer reference across resource boundary" - "string property fails" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-skips-intermediate-resource/optional/item#/$defs/defaultContent/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar-item/content",
    #       "keywordLocation": "/properties/bar-item/$ref/properties/content/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-skips-intermediate-resource/optional/item#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/bar-item",
    #       "keywordLocation": "/properties/bar-item/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-skips-intermediate-resource/optional/main#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-skips-intermediate-resource/optional/item#/$defs/defaultContent/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar-item/content",
    #       "keywordLocation": "/properties/bar-item/$ref/properties/content/$dynamicRef/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-skips-intermediate-resource/optional/item#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/bar-item",
    #       "keywordLocation": "/properties/bar-item/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://test.json-schema.org/dynamic-ref-skips-intermediate-resource/optional/main#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 1298 - optional/ecmascript-regex.json: "ECMA 262 regex $ does not match trailing newline" - "matches in Python, but not in ECMA 262" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1299 - optional/ecmascript-regex.json: "ECMA 262 regex $ does not match trailing newline" - "matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1300 - optional/ecmascript-regex.json: "ECMA 262 regex converts \t to horizontal tab" - "does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1301 - optional/ecmascript-regex.json: "ECMA 262 regex converts \t to horizontal tab" - "matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1302 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and upper letter" - "does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1303 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and upper letter" - "matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1304 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and lower letter" - "does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1305 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and lower letter" - "matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1306 - optional/ecmascript-regex.json: "ECMA 262 \d matches ascii digits only" - "ASCII zero matches" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1307 - optional/ecmascript-regex.json: "ECMA 262 \d matches ascii digits only" - "NKO DIGIT ZERO does not match (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "pattern": "^\\d$",
    #   "type": "string"
    # }
    # data: "߀"
    # result: 1
    1..1
}
ok 1308 - optional/ecmascript-regex.json: "ECMA 262 \d matches ascii digits only" - "NKO DIGIT ZERO (as \u escape) does not match" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "pattern": "^\\d$",
    #   "type": "string"
    # }
    # data: "߀"
    # result: 1
    1..1
}
ok 1309 - optional/ecmascript-regex.json: "ECMA 262 \D matches everything but ascii digits" - "ASCII zero does not match" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 1310 - optional/ecmascript-regex.json: "ECMA 262 \D matches everything but ascii digits" - "NKO DIGIT ZERO matches (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "pattern": "^\\D$",
    #   "type": "string"
    # }
    # data: "߀"
    # result: 0
    1..1
}
ok 1311 - optional/ecmascript-regex.json: "ECMA 262 \D matches everything but ascii digits" - "NKO DIGIT ZERO (as \u escape) matches" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "pattern": "^\\D$",
    #   "type": "string"
    # }
    # data: "߀"
    # result: 0
    1..1
}
ok 1312 - optional/ecmascript-regex.json: "ECMA 262 \w matches ascii letters only" - "ASCII 'a' matches" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 1313 - optional/ecmascript-regex.json: "ECMA 262 \w matches ascii letters only" - "latin-1 e-acute does not match (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "pattern": "^\\w$",
    #   "type": "string"
    # }
    # data: "é"
    # result: 1
    1..1
}
ok 1314 - optional/ecmascript-regex.json: "ECMA 262 \W matches everything but ascii letters" - "ASCII 'a' does not match" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 1315 - optional/ecmascript-regex.json: "ECMA 262 \W matches everything but ascii letters" - "latin-1 e-acute matches (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "pattern": "^\\W$",
    #   "type": "string"
    # }
    # data: "é"
    # result: 0
    1..1
}
ok 1316 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "ASCII space matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1317 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Character tabulation matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1318 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Line tabulation matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1319 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Form feed matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1320 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "latin-1 non-breaking-space matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1321 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "zero-width whitespace matches" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "pattern": "^\\s$",
    #   "type": "string"
    # }
    # data: ""
    # result: 0
    1..1
}
ok 1322 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "line feed matches (line terminator)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1323 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "paragraph separator matches (line terminator)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1324 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "EM SPACE matches (Space_Separator)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1325 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Non-whitespace control does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1326 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Non-whitespace does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1327 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "ASCII space does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1328 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Character tabulation does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1329 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Line tabulation does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1330 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Form feed does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1331 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "latin-1 non-breaking-space does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1332 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "zero-width whitespace does not match" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "pattern": "^\\S$",
    #   "type": "string"
    # }
    # data: ""
    # result: 1
    1..1
}
ok 1333 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "line feed does not match (line terminator)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1334 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "paragraph separator does not match (line terminator)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1335 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "EM SPACE does not match (Space_Separator)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1336 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Non-whitespace control matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1337 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Non-whitespace matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1338 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "ascii character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1339 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "literal unicode character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1340 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "unicode character in hex format in string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1341 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "unicode matching is case-sensitive" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1342 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "ascii character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1343 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "literal unicode character in json string" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "pattern": "\\wcole"
    # }
    # data: "Les hivers de mon enfance étaient des saisons longues, longues. Nous vivions en trois lieux: l'école, l'église et la patinoire; mais la vraie vie était sur la patinoire."
    # result: 1
    1..1
}
ok 1344 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "unicode character in hex format in string" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "pattern": "\\wcole"
    # }
    # data: "Les hivers de mon enfance étaient des saisons longues, longues. Nous vivions en trois lieux: l'école, l'église et la patinoire; mais la vraie vie était sur la patinoire."
    # result: 1
    1..1
}
ok 1345 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "unicode matching is case-sensitive" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1346 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "literal unicode character in json string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1347 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "unicode character in hex format in string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1348 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "ascii characters match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1349 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "ascii digits" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1350 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "ascii non-digits" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1351 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "pattern": "^\\d+$"
    # }
    # data: "৪২"
    # result: 1
    1..1
}
ok 1352 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "ascii digits" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1353 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "ascii non-digits" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1354 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1355 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "ascii character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1356 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "literal unicode character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1357 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "unicode character in hex format in string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1358 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "unicode matching is case-sensitive" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/L'ÉCOLE",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/L'ÉCOLE",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1359 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "ascii character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1360 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "literal unicode character in json string" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "additionalProperties": false,
    #   "patternProperties": {
    #     "\\wcole": true
    #   },
    #   "type": "object"
    # }
    # data: {
    #   "l'école": "pas de vraie vie"
    # }
    # result: 1
    1..1
}
ok 1361 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "unicode character in hex format in string" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "additionalProperties": false,
    #   "patternProperties": {
    #     "\\wcole": true
    #   },
    #   "type": "object"
    # }
    # data: {
    #   "l'école": "pas de vraie vie"
    # }
    # result: 1
    1..1
}
ok 1362 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "unicode matching is case-sensitive" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/L'ÉCOLE",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/L'ÉCOLE",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1363 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "literal unicode character in json string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/l'école",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/l'école",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1364 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "unicode character in hex format in string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/l'école",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/l'école",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1365 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "ascii characters match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1366 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "ascii digits" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1367 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "ascii non-digits" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/-%#",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/-%#",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1368 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected false; got true
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "additionalProperties": false,
    #   "patternProperties": {
    #     "^\\d+$": true
    #   },
    #   "type": "object"
    # }
    # data: {
    #   "৪২": "khajit has wares if you have coin"
    # }
    # result: 1
    1..1
}
ok 1369 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "ascii digits" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1370 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "ascii non-digits" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/-%#",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/-%#",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1371 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 1372 - optional/float-overflow.json: "all integers are multiples of 0.5, if overflow is handled" - "valid if optional overflow handling is implemented" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 1373 - optional/format-assertion.json: "schema that uses custom metaschema with format-assertion: false" - "format-assertion: false: valid string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1374 - optional/format-assertion.json: "schema that uses custom metaschema with format-assertion: false" - "format-assertion: false: invalid string" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://schema/using/format-assertion/false#/format",
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://schema/using/format-assertion/false#/format",
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1375 - optional/format-assertion.json: "schema that uses custom metaschema with format-assertion: true" - "format-assertion: true: valid string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1376 - optional/format-assertion.json: "schema that uses custom metaschema with format-assertion: true" - "format-assertion: true: invalid string" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://schema/using/format-assertion/true#/format",
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://schema/using/format-assertion/true#/format",
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 1377 - optional/id.json: "$id inside an enum is not a real identifier" - "exact match to enum, and type matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1378 - optional/id.json: "$id inside an enum is not a real identifier" - "match $ref to $id" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1379 - optional/id.json: "$id inside an enum is not a real identifier" - "no match on enum or $ref to $id" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/id_in_enum/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/draft2020-12/id/my_identifier.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/id_in_enum/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/draft2020-12/id/my_identifier.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 1380 - optional/no-schema.json: "validation without $schema" - "a 3-character string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1381 - optional/no-schema.json: "validation without $schema" - "a 1-character string is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1382 - optional/no-schema.json: "validation without $schema" - "a non-string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 1383 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches empty" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1384 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches single" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1385 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches two" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1386 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1387 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match two" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1388 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match one ASCII" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1389 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match two ASCII" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1390 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches empty" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1391 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches single" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1392 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches two" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1393 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "doesn't match one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/🐲",
    #       "keywordLocation": "/patternProperties/^🐲*$/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/🐲",
    #       "keywordLocation": "/patternProperties/^🐲*$/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1394 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "doesn't match two" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/🐲🐲",
    #       "keywordLocation": "/patternProperties/^🐲*$/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/🐲🐲",
    #       "keywordLocation": "/patternProperties/^🐲*$/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 1395 - optional/refOfUnknownKeyword.json: "reference of a root arbitrary keyword " - "match" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "EXCEPTION: bad reference to \"#/unknown-keyword\": not a schema",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "EXCEPTION: bad reference to \"#/unknown-keyword\": not a schema",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "properties": {
    #     "bar": {
    #       "$ref": "#/unknown-keyword"
    #     }
    #   },
    #   "unknown-keyword": {
    #     "type": "integer"
    #   }
    # }
    # data: {
    #   "bar": 3
    # }
    # result: null
    1..1
}
ok 1396 - optional/refOfUnknownKeyword.json: "reference of a root arbitrary keyword " - "mismatch" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "EXCEPTION: bad reference to \"#/unknown-keyword\": not a schema",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "EXCEPTION: bad reference to \"#/unknown-keyword\": not a schema",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 1397 - optional/refOfUnknownKeyword.json: "reference of an arbitrary keyword of a sub-schema" - "match" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "EXCEPTION: bad reference to \"#/properties/foo/unknown-keyword\": not a schema",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "EXCEPTION: bad reference to \"#/properties/foo/unknown-keyword\": not a schema",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected true; got false
    # schema: {
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "properties": {
    #     "bar": {
    #       "$ref": "#/properties/foo/unknown-keyword"
    #     },
    #     "foo": {
    #       "unknown-keyword": {
    #         "type": "integer"
    #       }
    #     }
    #   }
    # }
    # data: {
    #   "bar": 3
    # }
    # result: null
    1..1
}
ok 1398 - optional/refOfUnknownKeyword.json: "reference of an arbitrary keyword of a sub-schema" - "mismatch" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "EXCEPTION: bad reference to \"#/properties/foo/unknown-keyword\": not a schema",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "EXCEPTION: bad reference to \"#/properties/foo/unknown-keyword\": not a schema",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 1399 - optional/refOfUnknownKeyword.json: "reference internals of known non-applicator" - "match" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/base#/$ref",
    #       "error": "EXCEPTION: bad reference to \"/base#/examples/0\": not a schema",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/base#/$ref",
    #       "error": "EXCEPTION: bad reference to \"/base#/examples/0\": not a schema",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft2020-12.t line 51.
    # expected true; got false
    # schema: {
    #   "$id": "/base",
    #   "$ref": "#/examples/0",
    #   "$schema": "https://json-schema.org/draft/2020-12/schema",
    #   "examples": [
    #     {
    #       "type": "string"
    #     }
    #   ]
    # }
    # data: "a string"
    # result: null
    1..1
}
ok 1400 - optional/refOfUnknownKeyword.json: "reference internals of known non-applicator" - "mismatch" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/base#/$ref",
    #       "error": "EXCEPTION: bad reference to \"/base#/examples/0\": not a schema",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "/base#/$ref",
    #       "error": "EXCEPTION: bad reference to \"/base#/examples/0\": not a schema",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
# 
ok 1401 - optional/unknownKeyword.json: "$id inside an unknown keyword is not a real identifier" - "type matches second anyOf, which has a real schema in it" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1402 - optional/unknownKeyword.json: "$id inside an unknown keyword is not a real identifier" - "type matches non-schema in first anyOf" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/id_in_unknown0/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/id_in_unknown1/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/draft2020-12/unknownKeyword/my_identifier.json#/type",
    #       "error": "got null, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/2/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/id_in_unknown0/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/id_in_unknown1/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/draft2020-12/unknownKeyword/my_identifier.json#/type",
    #       "error": "got null, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/2/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1403 - optional/unknownKeyword.json: "$id inside an unknown keyword is not a real identifier" - "type matches non-schema in third anyOf" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/id_in_unknown0/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/id_in_unknown1/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/draft2020-12/unknownKeyword/my_identifier.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/2/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/$defs/id_in_unknown0/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/$defs/id_in_unknown1/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/draft2020-12/unknownKeyword/my_identifier.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/2/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1404 - no leaks in the main evaluator object
ok 1405 - no leaks in the short-circuiting evaluator object
1..1405
ok
# AUTHOR_TESTING: <undef>
# AUTOMATED_TESTING: 1
# EXTENDED_TESTING: <undef>
# NO_TODO: <undef>
# TEST_DIR: <undef>
# NO_SHORT_CIRCUIT: <undef>
# 
# 
# generated with:              Test::JSON::Schema::Acceptance 1.027
# with commit:                 e524505b8ac4a61c5dc162b51d68c2385a134706 (Test-JSON-Schema-Acceptance-1.026-16-ge524505)
# from repository:             git://github.com/json-schema-org/JSON-Schema-Test-Suite.git
# specification version:       draft4
# using custom test directory: <base test directory>/optional/format
# optional tests included:     yes
# 
# filename                                  pass  todo-fail  fail
# ---------------------------------------------------------------
# date-time.json                              25          0     0
# email.json                                  15          0     0
# hostname.json                               20          4     0
# ipv4.json                                   16          0     0
# ipv6.json                                   40          0     0
# unknown.json                                 7          0     0
# uri.json                                    25          1     0
# ---------------------------------------------------------------
# TOTAL                                      148          5     0
# 
# Congratulations, all non-optional tests are passing!
# 
t/zzz-acceptance-draft4-format.t ........ 
# running tests in /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/tests/draft4/optional/format against draft4...
# 
ok 1 - date-time.json: "validation of date-time strings" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 2 - date-time.json: "validation of date-time strings" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 3 - date-time.json: "validation of date-time strings" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 4 - date-time.json: "validation of date-time strings" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 5 - date-time.json: "validation of date-time strings" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 6 - date-time.json: "validation of date-time strings" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 7 - date-time.json: "validation of date-time strings" - "a valid date-time string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 8 - date-time.json: "validation of date-time strings" - "a valid date-time string without second fraction" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 9 - date-time.json: "validation of date-time strings" - "a valid date-time string with plus offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 10 - date-time.json: "validation of date-time strings" - "a valid date-time string with minus offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 11 - date-time.json: "validation of date-time strings" - "a valid date-time with a leap second, UTC" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 12 - date-time.json: "validation of date-time strings" - "a valid date-time with a leap second, with minus offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 13 - date-time.json: "validation of date-time strings" - "an invalid date-time past leap second, UTC" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 14 - date-time.json: "validation of date-time strings" - "an invalid date-time with leap second on a wrong minute, UTC" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 15 - date-time.json: "validation of date-time strings" - "an invalid date-time with leap second on a wrong hour, UTC" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 16 - date-time.json: "validation of date-time strings" - "an invalid day in date-time string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 17 - date-time.json: "validation of date-time strings" - "an invalid offset in date-time string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 18 - date-time.json: "validation of date-time strings" - "an invalid closing Z after time-zone offset" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 19 - date-time.json: "validation of date-time strings" - "an invalid date-time string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 20 - date-time.json: "validation of date-time strings" - "case-insensitive T and Z" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 21 - date-time.json: "validation of date-time strings" - "only RFC3339 not all of ISO 8601 are valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 22 - date-time.json: "validation of date-time strings" - "invalid non-padded month dates" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 23 - date-time.json: "validation of date-time strings" - "invalid non-padded day dates" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 24 - date-time.json: "validation of date-time strings" - "invalid non-ASCII '৪' (a Bengali 4) in date portion" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 25 - date-time.json: "validation of date-time strings" - "invalid non-ASCII '৪' (a Bengali 4) in time portion" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 26 - email.json: "validation of e-mail addresses" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 27 - email.json: "validation of e-mail addresses" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 28 - email.json: "validation of e-mail addresses" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 29 - email.json: "validation of e-mail addresses" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 30 - email.json: "validation of e-mail addresses" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 31 - email.json: "validation of e-mail addresses" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 32 - email.json: "validation of e-mail addresses" - "a valid e-mail address" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 33 - email.json: "validation of e-mail addresses" - "an invalid e-mail address" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 34 - email.json: "validation of e-mail addresses" - "tilde in local part is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 35 - email.json: "validation of e-mail addresses" - "tilde before local part is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 36 - email.json: "validation of e-mail addresses" - "tilde after local part is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 37 - email.json: "validation of e-mail addresses" - "dot before local part is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 38 - email.json: "validation of e-mail addresses" - "dot after local part is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 39 - email.json: "validation of e-mail addresses" - "two separated dots inside local part are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 40 - email.json: "validation of e-mail addresses" - "two subsequent dots inside local part are not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 41 - hostname.json: "validation of host names" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 42 - hostname.json: "validation of host names" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 43 - hostname.json: "validation of host names" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 44 - hostname.json: "validation of host names" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 45 - hostname.json: "validation of host names" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 46 - hostname.json: "validation of host names" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 47 - hostname.json: "validation of host names" - "a valid host name" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 48 - hostname.json: "validation of host names" - "a valid punycoded IDN hostname" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 49 - hostname.json: "validation of host names" - "a host name starting with an illegal character" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 50 - hostname.json: "validation of host names" - "a host name containing illegal characters" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 51 - hostname.json: "validation of host names" - "a host name with a component too long" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 52 - hostname.json: "validation of host names" - "starts with hyphen" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 53 - hostname.json: "validation of host names" - "ends with hyphen" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 54 - hostname.json: "validation of host names" - "starts with underscore" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 55 - hostname.json: "validation of host names" - "ends with underscore" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 56 - hostname.json: "validation of host names" - "contains underscore" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 57 - hostname.json: "validation of host names" - "maximum label length" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 58 - hostname.json: "validation of host names" - "exceeds maximum label length" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 59 - hostname.json: "validation of host names" - "single label" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft4-format.t line 65.
    # expected true; got false
    # schema: {
    #   "format": "hostname"
    # }
    # data: "hostname"
    # result: 0
    1..1
}
ok 60 - hostname.json: "validation of host names" - "single label with hyphen" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft4-format.t line 65.
    # expected true; got false
    # schema: {
    #   "format": "hostname"
    # }
    # data: "host-name"
    # result: 0
    1..1
}
ok 61 - hostname.json: "validation of host names" - "single label with digits" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft4-format.t line 65.
    # expected true; got false
    # schema: {
    #   "format": "hostname"
    # }
    # data: "h0stn4me"
    # result: 0
    1..1
}
ok 62 - hostname.json: "validation of host names" - "single label ending with digit" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft4-format.t line 65.
    # expected true; got false
    # schema: {
    #   "format": "hostname"
    # }
    # data: "hostnam3"
    # result: 0
    1..1
}
ok 63 - hostname.json: "validation of host names" - "empty string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 64 - hostname.json: "validation of host names" - "single dot" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 65 - ipv4.json: "validation of IP addresses" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 66 - ipv4.json: "validation of IP addresses" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 67 - ipv4.json: "validation of IP addresses" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 68 - ipv4.json: "validation of IP addresses" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 69 - ipv4.json: "validation of IP addresses" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 70 - ipv4.json: "validation of IP addresses" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 71 - ipv4.json: "validation of IP addresses" - "a valid IP address" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 72 - ipv4.json: "validation of IP addresses" - "an IP address with too many components" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 73 - ipv4.json: "validation of IP addresses" - "an IP address with out-of-range values" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 74 - ipv4.json: "validation of IP addresses" - "an IP address without 4 components" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 75 - ipv4.json: "validation of IP addresses" - "an IP address as an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 76 - ipv4.json: "validation of IP addresses" - "an IP address as an integer (decimal)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 77 - ipv4.json: "validation of IP addresses" - "invalid leading zeroes, as they are treated as octals" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 78 - ipv4.json: "validation of IP addresses" - "value without leading zero is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 79 - ipv4.json: "validation of IP addresses" - "invalid non-ASCII '২' (a Bengali 2)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 80 - ipv4.json: "validation of IP addresses" - "netmask is not a part of ipv4 address" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 81 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 82 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 83 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 84 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 85 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 86 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 87 - ipv6.json: "validation of IPv6 addresses" - "a valid IPv6 address" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 88 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address with out-of-range values" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 89 - ipv6.json: "validation of IPv6 addresses" - "trailing 4 hex symbols is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 90 - ipv6.json: "validation of IPv6 addresses" - "trailing 5 hex symbols is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 91 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address with too many components" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 92 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address containing illegal characters" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 93 - ipv6.json: "validation of IPv6 addresses" - "no digits is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 94 - ipv6.json: "validation of IPv6 addresses" - "leading colons is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 95 - ipv6.json: "validation of IPv6 addresses" - "trailing colons is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 96 - ipv6.json: "validation of IPv6 addresses" - "missing leading octet is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 97 - ipv6.json: "validation of IPv6 addresses" - "missing trailing octet is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 98 - ipv6.json: "validation of IPv6 addresses" - "missing leading octet with omitted octets later" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 99 - ipv6.json: "validation of IPv6 addresses" - "single set of double colons in the middle is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 100 - ipv6.json: "validation of IPv6 addresses" - "two sets of double colons is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 101 - ipv6.json: "validation of IPv6 addresses" - "mixed format with the ipv4 section as decimal octets" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 102 - ipv6.json: "validation of IPv6 addresses" - "mixed format with double colons between the sections" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 103 - ipv6.json: "validation of IPv6 addresses" - "mixed format with ipv4 section with octet out of range" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 104 - ipv6.json: "validation of IPv6 addresses" - "mixed format with ipv4 section with a hex octet" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 105 - ipv6.json: "validation of IPv6 addresses" - "mixed format with leading double colons (ipv4-mapped ipv6 address)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 106 - ipv6.json: "validation of IPv6 addresses" - "triple colons is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 107 - ipv6.json: "validation of IPv6 addresses" - "8 octets" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 108 - ipv6.json: "validation of IPv6 addresses" - "insufficient octets without double colons" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 109 - ipv6.json: "validation of IPv6 addresses" - "no colons is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 110 - ipv6.json: "validation of IPv6 addresses" - "ipv4 is not ipv6" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 111 - ipv6.json: "validation of IPv6 addresses" - "ipv4 segment must have 4 octets" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 112 - ipv6.json: "validation of IPv6 addresses" - "leading whitespace is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 113 - ipv6.json: "validation of IPv6 addresses" - "trailing whitespace is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 114 - ipv6.json: "validation of IPv6 addresses" - "netmask is not a part of ipv6 address" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 115 - ipv6.json: "validation of IPv6 addresses" - "zone id is not a part of ipv6 address" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 116 - ipv6.json: "validation of IPv6 addresses" - "a long valid ipv6" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 117 - ipv6.json: "validation of IPv6 addresses" - "a long invalid ipv6, below length limit, first" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 118 - ipv6.json: "validation of IPv6 addresses" - "a long invalid ipv6, below length limit, second" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 119 - ipv6.json: "validation of IPv6 addresses" - "invalid non-ASCII '৪' (a Bengali 4)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 120 - ipv6.json: "validation of IPv6 addresses" - "invalid non-ASCII '৪' (a Bengali 4) in the IPv4 portion" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 121 - unknown.json: "unknown format" - "unknown formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 122 - unknown.json: "unknown format" - "unknown formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 123 - unknown.json: "unknown format" - "unknown formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 124 - unknown.json: "unknown format" - "unknown formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 125 - unknown.json: "unknown format" - "unknown formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 126 - unknown.json: "unknown format" - "unknown formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 127 - unknown.json: "unknown format" - "unknown formats ignore strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 128 - uri.json: "validation of URIs" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 129 - uri.json: "validation of URIs" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 130 - uri.json: "validation of URIs" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 131 - uri.json: "validation of URIs" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 132 - uri.json: "validation of URIs" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 133 - uri.json: "validation of URIs" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 134 - uri.json: "validation of URIs" - "a valid URL with anchor tag" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 135 - uri.json: "validation of URIs" - "a valid URL with anchor tag and parentheses" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 136 - uri.json: "validation of URIs" - "a valid URL with URL-encoded stuff" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 137 - uri.json: "validation of URIs" - "a valid puny-coded URL " {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 138 - uri.json: "validation of URIs" - "a valid URL with many special characters" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 139 - uri.json: "validation of URIs" - "a valid URL based on IPv4" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 140 - uri.json: "validation of URIs" - "a valid URL with ftp scheme" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 141 - uri.json: "validation of URIs" - "a valid URL for a simple text file" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 142 - uri.json: "validation of URIs" - "a valid URL " {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 143 - uri.json: "validation of URIs" - "a valid mailto URI" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 144 - uri.json: "validation of URIs" - "a valid newsgroup URI" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 145 - uri.json: "validation of URIs" - "a valid tel URI" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 146 - uri.json: "validation of URIs" - "a valid URN" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 147 - uri.json: "validation of URIs" - "an invalid protocol-relative URI Reference" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 148 - uri.json: "validation of URIs" - "an invalid relative URI Reference" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 149 - uri.json: "validation of URIs" - "an invalid URI" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 150 - uri.json: "validation of URIs" - "an invalid URI though valid URI reference" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 151 - uri.json: "validation of URIs" - "an invalid URI with spaces" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 152 - uri.json: "validation of URIs" - "an invalid URI with spaces and missing scheme" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 153 - uri.json: "validation of URIs" - "an invalid URI with comma in scheme" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft4-format.t line 65.
    # expected false; got true
    # schema: {
    #   "format": "uri"
    # }
    # data: "bar,baz:foo"
    # result: 1
    1..1
}
ok 154 - no leaks in the main evaluator object
ok 155 - no leaks in the short-circuiting evaluator object
1..155
ok
# AUTHOR_TESTING: <undef>
# AUTOMATED_TESTING: 1
# EXTENDED_TESTING: <undef>
# NO_TODO: <undef>
# TEST_DIR: <undef>
# NO_SHORT_CIRCUIT: <undef>
# 
# 
# generated with:              Test::JSON::Schema::Acceptance 1.027
# with commit:                 e524505b8ac4a61c5dc162b51d68c2385a134706 (Test-JSON-Schema-Acceptance-1.026-16-ge524505)
# from repository:             git://github.com/json-schema-org/JSON-Schema-Test-Suite.git
# specification version:       draft4
# optional tests included:     yes
# skipping directory:          optional/format
# 
# filename                                  pass  todo-fail  fail
# ---------------------------------------------------------------
# additionalItems.json                        18          0     0
# additionalProperties.json                   16          0     0
# allOf.json                                  27          0     0
# anyOf.json                                  15          0     0
# default.json                                 7          0     0
# definitions.json                             2          0     0
# dependencies.json                           29          0     0
# enum.json                                   45          0     0
# format.json                                 36          0     0
# infinite-loop-detection.json                 2          0     0
# items.json                                  21          0     0
# maxItems.json                                4          0     0
# maxLength.json                               5          0     0
# maxProperties.json                           8          0     0
# maximum.json                                14          0     0
# minItems.json                                4          0     0
# minLength.json                               5          0     0
# minProperties.json                           6          0     0
# minimum.json                                17          0     0
# multipleOf.json                             10          0     0
# not.json                                    20          0     0
# oneOf.json                                  23          0     0
# pattern.json                                 9          0     0
# patternProperties.json                      18          0     0
# properties.json                             24          0     0
# ref.json                                    45          0     0
# refRemote.json                              17          0     0
# required.json                               15          0     0
# type.json                                   79          0     0
# uniqueItems.json                            69          0     0
# optional/bignum.json                         9          0     0
# optional/ecmascript-regex.json              60         14     0
# optional/float-overflow.json                 1          0     0
# optional/id.json                             3          0     0
# optional/non-bmp-regex.json                 12          0     0
# optional/zeroTerminatedFloats.json           0          1     0
# ---------------------------------------------------------------
# TOTAL                                      695         15     0
# 
# Congratulations, all non-optional tests are passing!
# 
t/zzz-acceptance-draft4.t ............... 
# adding resources from /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/remotes with the base URI "http://localhost:1234"...
# running tests in /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/tests/draft4 against draft4...
# 
ok 1 - additionalItems.json: "additionalItems as schema" - "additional items match schema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 2 - additionalItems.json: "additionalItems as schema" - "additional items do not match schema" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/additionalItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/additionalItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 3 - additionalItems.json: "when items is schema, additionalItems does nothing" - "all items match schema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 4 - additionalItems.json: "array of items with no additionalItems permitted" - "empty array" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 5 - additionalItems.json: "array of items with no additionalItems permitted" - "fewer number of items present (1)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 6 - additionalItems.json: "array of items with no additionalItems permitted" - "fewer number of items present (2)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 7 - additionalItems.json: "array of items with no additionalItems permitted" - "equal number of items present" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 8 - additionalItems.json: "array of items with no additionalItems permitted" - "additional items are not permitted" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 9 - additionalItems.json: "additionalItems as false without items" - "items defaults to empty schema so everything is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 10 - additionalItems.json: "additionalItems as false without items" - "ignores non-arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 11 - additionalItems.json: "additionalItems are allowed by default" - "only the first item is validated" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 12 - additionalItems.json: "additionalItems does not look in applicators, valid case" - "items defined in allOf are not examined" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 13 - additionalItems.json: "additionalItems does not look in applicators, invalid case" - "items defined in allOf are not examined" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/additionalItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/additionalItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 14 - additionalItems.json: "items validation adjusts the starting index for additionalItems" - "valid items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 15 - additionalItems.json: "items validation adjusts the starting index for additionalItems" - "wrong type of second item" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/additionalItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/additionalItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 16 - additionalItems.json: "additionalItems with heterogeneous array" - "heterogeneous invalid instance" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 17 - additionalItems.json: "additionalItems with heterogeneous array" - "valid instance" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 18 - additionalItems.json: "additionalItems with null instance elements" - "allows null elements" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 19 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "no additional properties is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 20 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "an additional property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 21 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 22 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 23 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 24 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "patternProperties are not additional properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 25 - additionalProperties.json: "non-ASCII pattern with additionalProperties" - "matching the pattern is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 26 - additionalProperties.json: "non-ASCII pattern with additionalProperties" - "not matching the pattern is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/élmény",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/élmény",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 27 - additionalProperties.json: "additionalProperties with schema" - "no additional properties is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 28 - additionalProperties.json: "additionalProperties with schema" - "an additional valid property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 29 - additionalProperties.json: "additionalProperties with schema" - "an additional invalid property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 30 - additionalProperties.json: "additionalProperties can exist by itself" - "an additional valid property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 31 - additionalProperties.json: "additionalProperties can exist by itself" - "an additional invalid property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 32 - additionalProperties.json: "additionalProperties are allowed by default" - "additional properties are allowed" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 33 - additionalProperties.json: "additionalProperties does not look in applicators" - "properties defined in allOf are not examined" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 34 - additionalProperties.json: "additionalProperties with null valued instance properties" - "allows null values" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 35 - allOf.json: "allOf" - "allOf" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 36 - allOf.json: "allOf" - "mismatch second" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 37 - allOf.json: "allOf" - "mismatch first" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/required"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/required"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 38 - allOf.json: "allOf" - "wrong type" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/properties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/properties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 39 - allOf.json: "allOf with base schema" - "valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 40 - allOf.json: "allOf with base schema" - "mismatch base schema" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 41 - allOf.json: "allOf with base schema" - "mismatch first allOf" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 42 - allOf.json: "allOf with base schema" - "mismatch second allOf" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: baz",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/required"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: baz",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/required"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 43 - allOf.json: "allOf with base schema" - "mismatch both" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "object is missing property: baz",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/required"
    #     },
    #     {
    #       "error": "subschemas 0, 1 are not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 44 - allOf.json: "allOf simple types" - "valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 45 - allOf.json: "allOf simple types" - "mismatch one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 30",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/maximum"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 30",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/maximum"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 46 - allOf.json: "allOf with one empty schema" - "any data is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 47 - allOf.json: "allOf with two empty schemas" - "any data is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 48 - allOf.json: "allOf with the first empty schema" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 49 - allOf.json: "allOf with the first empty schema" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/type"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/type"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 50 - allOf.json: "allOf with the last empty schema" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 51 - allOf.json: "allOf with the last empty schema" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 52 - allOf.json: "nested allOf, to check validation semantics" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 53 - allOf.json: "nested allOf, to check validation semantics" - "anything non-null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/allOf/0/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/allOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/allOf/0/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/allOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 54 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: false, oneOf: false" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 55 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: false, oneOf: true" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 56 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: true, oneOf: false" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 57 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: true, oneOf: true" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 58 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: false, oneOf: false" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 59 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: false, oneOf: true" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 60 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: true, oneOf: false" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 61 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: true, oneOf: true" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 62 - anyOf.json: "anyOf" - "first anyOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 63 - anyOf.json: "anyOf" - "second anyOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 64 - anyOf.json: "anyOf" - "both anyOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 65 - anyOf.json: "anyOf" - "neither anyOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/minimum"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/minimum"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 66 - anyOf.json: "anyOf with base schema" - "mismatch base schema" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 67 - anyOf.json: "anyOf with base schema" - "one anyOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 68 - anyOf.json: "anyOf with base schema" - "both anyOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/maxLength"
    #     },
    #     {
    #       "error": "length is less than 4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/minLength"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/maxLength"
    #     },
    #     {
    #       "error": "length is less than 4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/minLength"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 69 - anyOf.json: "anyOf complex types" - "first anyOf valid (complex)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 70 - anyOf.json: "anyOf complex types" - "second anyOf valid (complex)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 71 - anyOf.json: "anyOf complex types" - "both anyOf valid (complex)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 72 - anyOf.json: "anyOf complex types" - "neither anyOf valid (complex)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/anyOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/properties"
    #     },
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/properties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/anyOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/properties"
    #     },
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/properties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 73 - anyOf.json: "anyOf with one empty schema" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 74 - anyOf.json: "anyOf with one empty schema" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 75 - anyOf.json: "nested anyOf, to check validation semantics" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 76 - anyOf.json: "nested anyOf, to check validation semantics" - "anything non-null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/anyOf/0/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/anyOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/anyOf/0/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/anyOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 77 - default.json: "invalid type for default" - "valid when property is specified" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 78 - default.json: "invalid type for default" - "still valid when the invalid default is used" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 79 - default.json: "invalid string value for default" - "valid when property is specified" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 80 - default.json: "invalid string value for default" - "still valid when the invalid default is used" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 81 - default.json: "the default keyword does not do anything if the property is missing" - "an explicit property value is checked against maximum (passing)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 82 - default.json: "the default keyword does not do anything if the property is missing" - "an explicit property value is checked against maximum (failing)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 3",
    #       "instanceLocation": "/alpha",
    #       "keywordLocation": "/properties/alpha/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 3",
    #       "instanceLocation": "/alpha",
    #       "keywordLocation": "/properties/alpha/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 83 - default.json: "the default keyword does not do anything if the property is missing" - "missing properties are not filled in with the default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 84 - definitions.json: "validate definition against metaschema" - "valid definition schema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 85 - definitions.json: "validate definition against metaschema" - "invalid definition schema" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-04/schema#/definitions/simpleTypes/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "/definitions/foo/type",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-04/schema#/properties/type/anyOf/1/type",
    #       "error": "got integer, not array",
    #       "instanceLocation": "/definitions/foo/type",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-04/schema#/properties/type/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/definitions/foo/type",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-04/schema#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/definitions/foo",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-04/schema#/properties/definitions/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/definitions",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-04/schema#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-04/schema#/definitions/simpleTypes/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "/definitions/foo/type",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-04/schema#/properties/type/anyOf/1/type",
    #       "error": "got integer, not array",
    #       "instanceLocation": "/definitions/foo/type",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-04/schema#/properties/type/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/definitions/foo/type",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-04/schema#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/definitions/foo",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-04/schema#/properties/definitions/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/definitions",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-04/schema#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 86 - dependencies.json: "dependencies" - "neither" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 87 - dependencies.json: "dependencies" - "nondependant" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 88 - dependencies.json: "dependencies" - "with dependency" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 89 - dependencies.json: "dependencies" - "missing dependency" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 90 - dependencies.json: "dependencies" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 91 - dependencies.json: "dependencies" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 92 - dependencies.json: "dependencies" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 93 - dependencies.json: "multiple dependencies" - "neither" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 94 - dependencies.json: "multiple dependencies" - "nondependants" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 95 - dependencies.json: "multiple dependencies" - "with dependencies" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 96 - dependencies.json: "multiple dependencies" - "missing dependency" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 97 - dependencies.json: "multiple dependencies" - "missing other dependency" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 98 - dependencies.json: "multiple dependencies" - "missing both dependencies" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: foo, bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: foo, bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 99 - dependencies.json: "multiple dependencies subschema" - "valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 100 - dependencies.json: "multiple dependencies subschema" - "no dependency" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 101 - dependencies.json: "multiple dependencies subschema" - "wrong type" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependencies/bar/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependencies/bar/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 102 - dependencies.json: "multiple dependencies subschema" - "wrong type other" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/dependencies/bar/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/dependencies/bar/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 103 - dependencies.json: "multiple dependencies subschema" - "wrong type both" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/dependencies/bar/properties/bar/type"
    #     },
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependencies/bar/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/dependencies/bar/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 104 - dependencies.json: "dependencies with escaped characters" - "valid object 1" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 105 - dependencies.json: "dependencies with escaped characters" - "valid object 2" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 106 - dependencies.json: "dependencies with escaped characters" - "valid object 3" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 107 - dependencies.json: "dependencies with escaped characters" - "invalid object 1" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo\rbar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo\nbar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo\rbar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo\nbar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 108 - dependencies.json: "dependencies with escaped characters" - "invalid object 2" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 4 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo\tbar/minProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 4 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo\tbar/minProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 109 - dependencies.json: "dependencies with escaped characters" - "invalid object 3" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo\"bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo'bar/required"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo\"bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo'bar/required"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 110 - dependencies.json: "dependencies with escaped characters" - "invalid object 4" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo'bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo\"bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo'bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo\"bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 111 - dependencies.json: "dependent subschema incompatible with root" - "matches root" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependencies/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependencies/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 112 - dependencies.json: "dependent subschema incompatible with root" - "matches dependency" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 113 - dependencies.json: "dependent subschema incompatible with root" - "matches both" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependencies/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependencies/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 114 - dependencies.json: "dependent subschema incompatible with root" - "no dependency" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 115 - enum.json: "simple enum validation" - "one of the enum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 116 - enum.json: "simple enum validation" - "something else is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 117 - enum.json: "heterogeneous enum validation" - "one of the enum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 118 - enum.json: "heterogeneous enum validation" - "something else is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 119 - enum.json: "heterogeneous enum validation" - "objects are deep compared" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '': wrong type: object vs integer; from enum 1 at '': wrong type: object vs string; from enum 2 at '': wrong type: object vs array; from enum 3 at '': wrong type: object vs boolean; from enum 4 at '/foo': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '': wrong type: object vs integer; from enum 1 at '': wrong type: object vs string; from enum 2 at '': wrong type: object vs array; from enum 3 at '': wrong type: object vs boolean; from enum 4 at '/foo': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 120 - enum.json: "heterogeneous enum validation" - "valid object matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 121 - enum.json: "heterogeneous enum validation" - "extra properties in object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 122 - enum.json: "heterogeneous enum-with-null validation" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 123 - enum.json: "heterogeneous enum-with-null validation" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 124 - enum.json: "heterogeneous enum-with-null validation" - "something else is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 125 - enum.json: "enums in properties" - "both properties are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 126 - enum.json: "enums in properties" - "wrong foo value" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 127 - enum.json: "enums in properties" - "wrong bar value" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 128 - enum.json: "enums in properties" - "missing optional property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 129 - enum.json: "enums in properties" - "missing required property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 130 - enum.json: "enums in properties" - "missing all properties is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 131 - enum.json: "enum with escaped characters" - "member 1 is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 132 - enum.json: "enum with escaped characters" - "member 2 is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 133 - enum.json: "enum with escaped characters" - "another string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 134 - enum.json: "enum with false does not match 0" - "false is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 135 - enum.json: "enum with false does not match 0" - "integer zero is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 136 - enum.json: "enum with false does not match 0" - "float zero is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 137 - enum.json: "enum with [false] does not match [0]" - "[false] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 138 - enum.json: "enum with [false] does not match [0]" - "[0] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 139 - enum.json: "enum with [false] does not match [0]" - "[0.0] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 140 - enum.json: "enum with true does not match 1" - "true is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 141 - enum.json: "enum with true does not match 1" - "integer one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 142 - enum.json: "enum with true does not match 1" - "float one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 143 - enum.json: "enum with [true] does not match [1]" - "[true] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 144 - enum.json: "enum with [true] does not match [1]" - "[1] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 145 - enum.json: "enum with [true] does not match [1]" - "[1.0] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 146 - enum.json: "enum with 0 does not match false" - "false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 147 - enum.json: "enum with 0 does not match false" - "integer zero is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 148 - enum.json: "enum with 0 does not match false" - "float zero is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 149 - enum.json: "enum with [0] does not match [false]" - "[false] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 150 - enum.json: "enum with [0] does not match [false]" - "[0] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 151 - enum.json: "enum with [0] does not match [false]" - "[0.0] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 152 - enum.json: "enum with 1 does not match true" - "true is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 153 - enum.json: "enum with 1 does not match true" - "integer one is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 154 - enum.json: "enum with 1 does not match true" - "float one is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 155 - enum.json: "enum with [1] does not match [true]" - "[true] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 156 - enum.json: "enum with [1] does not match [true]" - "[1] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 157 - enum.json: "enum with [1] does not match [true]" - "[1.0] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 158 - enum.json: "nul characters in strings" - "match string with nul" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 159 - enum.json: "nul characters in strings" - "do not match string lacking nul" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 160 - format.json: "email format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 161 - format.json: "email format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 162 - format.json: "email format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 163 - format.json: "email format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 164 - format.json: "email format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 165 - format.json: "email format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 166 - format.json: "ipv4 format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 167 - format.json: "ipv4 format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 168 - format.json: "ipv4 format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 169 - format.json: "ipv4 format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 170 - format.json: "ipv4 format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 171 - format.json: "ipv4 format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 172 - format.json: "ipv6 format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 173 - format.json: "ipv6 format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 174 - format.json: "ipv6 format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 175 - format.json: "ipv6 format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 176 - format.json: "ipv6 format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 177 - format.json: "ipv6 format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 178 - format.json: "hostname format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 179 - format.json: "hostname format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 180 - format.json: "hostname format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 181 - format.json: "hostname format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 182 - format.json: "hostname format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 183 - format.json: "hostname format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 184 - format.json: "date-time format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 185 - format.json: "date-time format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 186 - format.json: "date-time format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 187 - format.json: "date-time format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 188 - format.json: "date-time format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 189 - format.json: "date-time format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 190 - format.json: "uri format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 191 - format.json: "uri format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 192 - format.json: "uri format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 193 - format.json: "uri format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 194 - format.json: "uri format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 195 - format.json: "uri format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 196 - infinite-loop-detection.json: "evaluating the same schema location against the same data location twice is not a sign of an infinite loop" - "passing case" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 197 - infinite-loop-detection.json: "evaluating the same schema location against the same data location twice is not a sign of an infinite loop" - "failing case" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/int/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/0/properties/foo/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/definitions/int/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/1/additionalProperties/$ref/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/additionalProperties"
    #     },
    #     {
    #       "error": "subschemas 0, 1 are not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/int/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/0/properties/foo/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/properties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 198 - items.json: "a schema given for items" - "valid items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 199 - items.json: "a schema given for items" - "wrong type of items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 200 - items.json: "a schema given for items" - "ignores non-arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 201 - items.json: "a schema given for items" - "JavaScript pseudo-array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 202 - items.json: "an array of schemas for items" - "correct types" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 203 - items.json: "an array of schemas for items" - "wrong types" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/type"
    #     },
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/1/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 204 - items.json: "an array of schemas for items" - "incomplete array of items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 205 - items.json: "an array of schemas for items" - "array with additional items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 206 - items.json: "an array of schemas for items" - "empty array" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 207 - items.json: "an array of schemas for items" - "JavaScript pseudo-array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 208 - items.json: "items and subitems" - "valid items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 209 - items.json: "items and subitems" - "too many items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 210 - items.json: "items and subitems" - "too many sub-items" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/item/additionalItems",
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0/2",
    #       "keywordLocation": "/items/0/$ref/additionalItems"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/definitions/item/additionalItems",
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/$ref/additionalItems"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/item/additionalItems",
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0/2",
    #       "keywordLocation": "/items/0/$ref/additionalItems"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/definitions/item/additionalItems",
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/$ref/additionalItems"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 211 - items.json: "items and subitems" - "wrong item" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/item/type",
    #       "error": "got object, not array",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/$ref/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/item/type",
    #       "error": "got object, not array",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/$ref/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 212 - items.json: "items and subitems" - "wrong sub-item" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/sub-item/required",
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/0/$ref/items/0/$ref/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/definitions/item/items",
    #       "error": "not all items are valid",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/$ref/items"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/sub-item/required",
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/0/$ref/items/0/$ref/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/definitions/item/items",
    #       "error": "not all items are valid",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/$ref/items"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 213 - items.json: "items and subitems" - "fewer items is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 214 - items.json: "nested items" - "valid nested array" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 215 - items.json: "nested items" - "nested array with invalid type" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/0/0/0/0",
    #       "keywordLocation": "/items/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0/0",
    #       "keywordLocation": "/items/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/0/0/0/0",
    #       "keywordLocation": "/items/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0/0",
    #       "keywordLocation": "/items/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 216 - items.json: "nested items" - "not deep enough" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/0/0/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/0/1/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/1",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/0/2/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/2",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/1/0/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/1/0",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/1/1/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/1/1",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/1/2/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/1/2",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/0/0/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 217 - items.json: "items with null instance elements" - "allows null elements" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 218 - items.json: "array-form items with null instance elements" - "allows null elements" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 219 - maxItems.json: "maxItems validation" - "shorter is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 220 - maxItems.json: "maxItems validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 221 - maxItems.json: "maxItems validation" - "too long is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 222 - maxItems.json: "maxItems validation" - "ignores non-arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 223 - maxLength.json: "maxLength validation" - "shorter is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 224 - maxLength.json: "maxLength validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 225 - maxLength.json: "maxLength validation" - "too long is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 226 - maxLength.json: "maxLength validation" - "ignores non-strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 227 - maxLength.json: "maxLength validation" - "two graphemes is long enough" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 228 - maxProperties.json: "maxProperties validation" - "shorter is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 229 - maxProperties.json: "maxProperties validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 230 - maxProperties.json: "maxProperties validation" - "too long is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 2 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 2 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 231 - maxProperties.json: "maxProperties validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 232 - maxProperties.json: "maxProperties validation" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 233 - maxProperties.json: "maxProperties validation" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 234 - maxProperties.json: "maxProperties = 0 means the object is empty" - "no properties is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 235 - maxProperties.json: "maxProperties = 0 means the object is empty" - "one property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 0 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 0 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 236 - maximum.json: "maximum validation" - "below the maximum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 237 - maximum.json: "maximum validation" - "boundary point is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 238 - maximum.json: "maximum validation" - "above the maximum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 239 - maximum.json: "maximum validation" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 240 - maximum.json: "maximum validation with unsigned integer" - "below the maximum is invalid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 241 - maximum.json: "maximum validation with unsigned integer" - "boundary point integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 242 - maximum.json: "maximum validation with unsigned integer" - "boundary point float is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 243 - maximum.json: "maximum validation with unsigned integer" - "above the maximum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 300",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 300",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 244 - maximum.json: "maximum validation (explicit false exclusivity)" - "below the maximum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 245 - maximum.json: "maximum validation (explicit false exclusivity)" - "boundary point is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 246 - maximum.json: "maximum validation (explicit false exclusivity)" - "above the maximum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 247 - maximum.json: "maximum validation (explicit false exclusivity)" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 248 - maximum.json: "exclusiveMaximum validation" - "below the maximum is still valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 249 - maximum.json: "exclusiveMaximum validation" - "boundary point is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 250 - minItems.json: "minItems validation" - "longer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 251 - minItems.json: "minItems validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 252 - minItems.json: "minItems validation" - "too short is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 253 - minItems.json: "minItems validation" - "ignores non-arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 254 - minLength.json: "minLength validation" - "longer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 255 - minLength.json: "minLength validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 256 - minLength.json: "minLength validation" - "too short is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 257 - minLength.json: "minLength validation" - "ignores non-strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 258 - minLength.json: "minLength validation" - "one grapheme is not long enough" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 259 - minProperties.json: "minProperties validation" - "longer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 260 - minProperties.json: "minProperties validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 261 - minProperties.json: "minProperties validation" - "too short is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 262 - minProperties.json: "minProperties validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 263 - minProperties.json: "minProperties validation" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 264 - minProperties.json: "minProperties validation" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 265 - minimum.json: "minimum validation" - "above the minimum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 266 - minimum.json: "minimum validation" - "boundary point is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 267 - minimum.json: "minimum validation" - "below the minimum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 268 - minimum.json: "minimum validation" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 269 - minimum.json: "minimum validation (explicit false exclusivity)" - "above the minimum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 270 - minimum.json: "minimum validation (explicit false exclusivity)" - "boundary point is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 271 - minimum.json: "minimum validation (explicit false exclusivity)" - "below the minimum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 272 - minimum.json: "minimum validation (explicit false exclusivity)" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 273 - minimum.json: "exclusiveMinimum validation" - "above the minimum is still valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 274 - minimum.json: "exclusiveMinimum validation" - "boundary point is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 275 - minimum.json: "minimum validation with signed integer" - "negative above the minimum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 276 - minimum.json: "minimum validation with signed integer" - "positive above the minimum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 277 - minimum.json: "minimum validation with signed integer" - "boundary point is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 278 - minimum.json: "minimum validation with signed integer" - "boundary point with float is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 279 - minimum.json: "minimum validation with signed integer" - "float below the minimum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 280 - minimum.json: "minimum validation with signed integer" - "int below the minimum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 281 - minimum.json: "minimum validation with signed integer" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 282 - multipleOf.json: "by int" - "int by int" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 283 - multipleOf.json: "by int" - "int by int fail" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 284 - multipleOf.json: "by int" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 285 - multipleOf.json: "by number" - "zero is multiple of anything" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 286 - multipleOf.json: "by number" - "4.5 is multiple of 1.5" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 287 - multipleOf.json: "by number" - "35 is not multiple of 1.5" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 1.5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 1.5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 288 - multipleOf.json: "by small number" - "0.0075 is multiple of 0.0001" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 289 - multipleOf.json: "by small number" - "0.00751 is not multiple of 0.0001" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 0.0001",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 0.0001",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 290 - multipleOf.json: "float division = inf" - "invalid, but naive implementations may raise an overflow error" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 0.123456789",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 0.123456789",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 291 - multipleOf.json: "small multiple of large integer" - "any integer is a multiple of 1e-8" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 292 - not.json: "not" - "allowed" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 293 - not.json: "not" - "disallowed" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 294 - not.json: "not multiple types" - "valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 295 - not.json: "not multiple types" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 296 - not.json: "not multiple types" - "other mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 297 - not.json: "not more complex schema" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 298 - not.json: "not more complex schema" - "other match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 299 - not.json: "not more complex schema" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 300 - not.json: "forbidden property" - "property present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/not"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/not"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 301 - not.json: "forbidden property" - "property absent" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 302 - not.json: "forbid everything with empty schema" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 303 - not.json: "forbid everything with empty schema" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 304 - not.json: "forbid everything with empty schema" - "boolean true is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 305 - not.json: "forbid everything with empty schema" - "boolean false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 306 - not.json: "forbid everything with empty schema" - "null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 307 - not.json: "forbid everything with empty schema" - "object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 308 - not.json: "forbid everything with empty schema" - "empty object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 309 - not.json: "forbid everything with empty schema" - "array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 310 - not.json: "forbid everything with empty schema" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 311 - not.json: "double negation" - "any value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 312 - oneOf.json: "oneOf" - "first oneOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 313 - oneOf.json: "oneOf" - "second oneOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 314 - oneOf.json: "oneOf" - "both oneOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 315 - oneOf.json: "oneOf" - "neither oneOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/type"
    #     },
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/minimum"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/type"
    #     },
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/minimum"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 316 - oneOf.json: "oneOf with base schema" - "mismatch base schema" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     },
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 317 - oneOf.json: "oneOf with base schema" - "one oneOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 318 - oneOf.json: "oneOf with base schema" - "both oneOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 319 - oneOf.json: "oneOf complex types" - "first oneOf valid (complex)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 320 - oneOf.json: "oneOf complex types" - "second oneOf valid (complex)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 321 - oneOf.json: "oneOf complex types" - "both oneOf valid (complex)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 322 - oneOf.json: "oneOf complex types" - "neither oneOf valid (complex)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/oneOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/properties"
    #     },
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/oneOf/1/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/properties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/oneOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/properties"
    #     },
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/oneOf/1/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/properties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 323 - oneOf.json: "oneOf with empty schema" - "one valid - valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 324 - oneOf.json: "oneOf with empty schema" - "both valid - invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 325 - oneOf.json: "oneOf with required" - "both invalid - invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/required"
    #     },
    #     {
    #       "error": "object is missing properties: foo, baz",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/required"
    #     },
    #     {
    #       "error": "object is missing properties: foo, baz",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 326 - oneOf.json: "oneOf with required" - "first valid - valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 327 - oneOf.json: "oneOf with required" - "second valid - valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 328 - oneOf.json: "oneOf with required" - "both valid - invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 329 - oneOf.json: "oneOf with missing optional property" - "first oneOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 330 - oneOf.json: "oneOf with missing optional property" - "second oneOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 331 - oneOf.json: "oneOf with missing optional property" - "both oneOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 332 - oneOf.json: "oneOf with missing optional property" - "neither oneOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/required"
    #     },
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/required"
    #     },
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 333 - oneOf.json: "nested oneOf, to check validation semantics" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 334 - oneOf.json: "nested oneOf, to check validation semantics" - "anything non-null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/oneOf/0/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/oneOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/oneOf/0/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/oneOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 335 - pattern.json: "pattern validation" - "a matching pattern is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 336 - pattern.json: "pattern validation" - "a non-matching pattern is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 337 - pattern.json: "pattern validation" - "ignores booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 338 - pattern.json: "pattern validation" - "ignores integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 339 - pattern.json: "pattern validation" - "ignores floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 340 - pattern.json: "pattern validation" - "ignores objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 341 - pattern.json: "pattern validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 342 - pattern.json: "pattern validation" - "ignores null" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 343 - pattern.json: "pattern is not anchored" - "matches a substring" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 344 - patternProperties.json: "patternProperties validates properties matching a regex" - "a single valid match is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 345 - patternProperties.json: "patternProperties validates properties matching a regex" - "multiple valid matches is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 346 - patternProperties.json: "patternProperties validates properties matching a regex" - "a single invalid match is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.*o/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.*o/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 347 - patternProperties.json: "patternProperties validates properties matching a regex" - "multiple invalid matches is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.*o/type"
    #     },
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foooooo",
    #       "keywordLocation": "/patternProperties/f.*o/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.*o/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 348 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 349 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 350 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 351 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "a single valid match is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 352 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "a simultaneous match is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 353 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "multiple matches is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 354 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/a",
    #       "keywordLocation": "/patternProperties/a*/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/a",
    #       "keywordLocation": "/patternProperties/a*/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 355 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to the other is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 20",
    #       "instanceLocation": "/aaaa",
    #       "keywordLocation": "/patternProperties/aaa*/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 20",
    #       "instanceLocation": "/aaaa",
    #       "keywordLocation": "/patternProperties/aaa*/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 356 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to both is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/aaa",
    #       "keywordLocation": "/patternProperties/a*/type"
    #     },
    #     {
    #       "error": "value is greater than 20",
    #       "instanceLocation": "/aaaa",
    #       "keywordLocation": "/patternProperties/aaa*/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/aaa",
    #       "keywordLocation": "/patternProperties/a*/type"
    #     },
    #     {
    #       "error": "value is greater than 20",
    #       "instanceLocation": "/aaaa",
    #       "keywordLocation": "/patternProperties/aaa*/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 357 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "non recognized members are ignored" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 358 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "recognized members are accounted for" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not boolean",
    #       "instanceLocation": "/a31b",
    #       "keywordLocation": "/patternProperties/[0-9]{2,}/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not boolean",
    #       "instanceLocation": "/a31b",
    #       "keywordLocation": "/patternProperties/[0-9]{2,}/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 359 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "regexes are case sensitive" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 360 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "regexes are case sensitive, 2" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/a_X_3",
    #       "keywordLocation": "/patternProperties/X_/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/a_X_3",
    #       "keywordLocation": "/patternProperties/X_/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 361 - patternProperties.json: "patternProperties with null valued instance properties" - "allows null values" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 362 - properties.json: "object properties validation" - "both properties present and valid is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 363 - properties.json: "object properties validation" - "one property invalid is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 364 - properties.json: "object properties validation" - "both properties invalid is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/type"
    #     },
    #     {
    #       "error": "got array, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 365 - properties.json: "object properties validation" - "doesn't invalidate other properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 366 - properties.json: "object properties validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 367 - properties.json: "object properties validation" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 368 - properties.json: "properties, patternProperties, additionalProperties interaction" - "property validates property" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 369 - properties.json: "properties, patternProperties, additionalProperties interaction" - "property invalidates property" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 3 items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/maxItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 3 items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/maxItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 370 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty invalidates property" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.o/minItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.o/minItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 371 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty validates nonproperty" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 372 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty invalidates nonproperty" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "/fxo",
    #       "keywordLocation": "/patternProperties/f.o/minItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "/fxo",
    #       "keywordLocation": "/patternProperties/f.o/minItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 373 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty ignores property" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 374 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty validates others" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 375 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty invalidates others" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 376 - properties.json: "properties with escaped characters" - "object with all numbers is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 377 - properties.json: "properties with escaped characters" - "object with strings is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\tbar",
    #       "keywordLocation": "/properties/foo\tbar/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\nbar",
    #       "keywordLocation": "/properties/foo\nbar/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\fbar",
    #       "keywordLocation": "/properties/foo\fbar/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\rbar",
    #       "keywordLocation": "/properties/foo\rbar/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\"bar",
    #       "keywordLocation": "/properties/foo\"bar/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\\bar",
    #       "keywordLocation": "/properties/foo\\bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\tbar",
    #       "keywordLocation": "/properties/foo\tbar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 378 - properties.json: "properties with null valued instance properties" - "allows null values" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 379 - properties.json: "properties whose names are Javascript object property names" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 380 - properties.json: "properties whose names are Javascript object property names" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 381 - properties.json: "properties whose names are Javascript object property names" - "none of the properties mentioned" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 382 - properties.json: "properties whose names are Javascript object property names" - "__proto__ not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/__proto__",
    #       "keywordLocation": "/properties/__proto__/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/__proto__",
    #       "keywordLocation": "/properties/__proto__/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 383 - properties.json: "properties whose names are Javascript object property names" - "toString not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/toString/length",
    #       "keywordLocation": "/properties/toString/properties/length/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/toString",
    #       "keywordLocation": "/properties/toString/properties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/toString/length",
    #       "keywordLocation": "/properties/toString/properties/length/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/toString",
    #       "keywordLocation": "/properties/toString/properties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 384 - properties.json: "properties whose names are Javascript object property names" - "constructor not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not number",
    #       "instanceLocation": "/constructor",
    #       "keywordLocation": "/properties/constructor/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not number",
    #       "instanceLocation": "/constructor",
    #       "keywordLocation": "/properties/constructor/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 385 - properties.json: "properties whose names are Javascript object property names" - "all present and valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 386 - ref.json: "root pointer ref" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 387 - ref.json: "root pointer ref" - "recursive match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 388 - ref.json: "root pointer ref" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 389 - ref.json: "root pointer ref" - "recursive mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/additionalProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/$ref/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/additionalProperties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/additionalProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/$ref/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/additionalProperties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 390 - ref.json: "relative pointer ref to object" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 391 - ref.json: "relative pointer ref to object" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/properties/foo/type",
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/properties/foo/type",
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 392 - ref.json: "relative pointer ref to array" - "match array" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 393 - ref.json: "relative pointer ref to array" - "mismatch array" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/items/0/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/1/$ref/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/items/0/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/1/$ref/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 394 - ref.json: "escaped pointer ref" - "slash invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/slash~1field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/slash",
    #       "keywordLocation": "/properties/slash/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/slash~1field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/slash",
    #       "keywordLocation": "/properties/slash/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 395 - ref.json: "escaped pointer ref" - "tilde invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/tilde~0field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/tilde",
    #       "keywordLocation": "/properties/tilde/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/tilde~0field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/tilde",
    #       "keywordLocation": "/properties/tilde/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 396 - ref.json: "escaped pointer ref" - "percent invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/percent%25field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/percent",
    #       "keywordLocation": "/properties/percent/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/percent%25field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/percent",
    #       "keywordLocation": "/properties/percent/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 397 - ref.json: "escaped pointer ref" - "slash valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 398 - ref.json: "escaped pointer ref" - "tilde valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 399 - ref.json: "escaped pointer ref" - "percent valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 400 - ref.json: "nested refs" - "nested ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 401 - ref.json: "nested refs" - "nested ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/a/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/$ref/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/a/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/$ref/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 402 - ref.json: "ref overrides any sibling keywords" - "ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 403 - ref.json: "ref overrides any sibling keywords" - "ref valid, maxItems ignored" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 404 - ref.json: "ref overrides any sibling keywords" - "ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/reffed/type",
    #       "error": "got string, not array",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/reffed/type",
    #       "error": "got string, not array",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 405 - ref.json: "$ref prevents a sibling id from changing the base uri" - "$ref resolves to /definitions/base_foo, data does not validate" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/sibling_id/base/foo.json#/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/sibling_id/base/#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/sibling_id/base/foo.json#/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/sibling_id/base/#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 406 - ref.json: "$ref prevents a sibling id from changing the base uri" - "$ref resolves to /definitions/base_foo, data validates" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 407 - ref.json: "remote ref, containing refs itself" - "remote ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 408 - ref.json: "remote ref, containing refs itself" - "remote ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger/minimum",
    #       "error": "value is less than 0",
    #       "instanceLocation": "/minLength",
    #       "keywordLocation": "/$ref/properties/minLength/$ref/allOf/0/$ref/minimum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "/minLength",
    #       "keywordLocation": "/$ref/properties/minLength/$ref/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-04/schema#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-04/schema#/definitions/positiveInteger/minimum",
    #       "error": "value is less than 0",
    #       "instanceLocation": "/minLength",
    #       "keywordLocation": "/$ref/properties/minLength/$ref/allOf/0/$ref/minimum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-04/schema#/definitions/positiveIntegerDefault0/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "/minLength",
    #       "keywordLocation": "/$ref/properties/minLength/$ref/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-04/schema#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 409 - ref.json: "property named $ref that is not a reference" - "property named $ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 410 - ref.json: "property named $ref that is not a reference" - "property named $ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/$ref",
    #       "keywordLocation": "/properties/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/$ref",
    #       "keywordLocation": "/properties/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 411 - ref.json: "property named $ref, containing an actual $ref" - "property named $ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 412 - ref.json: "property named $ref, containing an actual $ref" - "property named $ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/is-string/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/$ref",
    #       "keywordLocation": "/properties/$ref/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/is-string/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/$ref",
    #       "keywordLocation": "/properties/$ref/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 413 - ref.json: "Recursive references between schemas" - "valid tree" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 414 - ref.json: "Recursive references between schemas" - "invalid tree" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/node#/properties/value/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "/nodes/0/subtree/nodes/0/value",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties/value/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/node#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0/subtree/nodes/0",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/tree#/properties/nodes/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/nodes/0/subtree/nodes",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/tree#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0/subtree",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/node#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/tree#/properties/nodes/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/nodes",
    #       "keywordLocation": "/properties/nodes/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/tree#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/node#/properties/value/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "/nodes/0/subtree/nodes/0/value",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties/value/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/node#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0/subtree/nodes/0",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/tree#/properties/nodes/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/nodes/0/subtree/nodes",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/tree#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0/subtree",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/node#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/tree#/properties/nodes/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/nodes",
    #       "keywordLocation": "/properties/nodes/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/tree#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 415 - ref.json: "refs with quote" - "object with numbers is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 416 - ref.json: "refs with quote" - "object with strings is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/foo%22bar/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\"bar",
    #       "keywordLocation": "/properties/foo\"bar/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/foo%22bar/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\"bar",
    #       "keywordLocation": "/properties/foo\"bar/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 417 - ref.json: "Location-independent identifier" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 418 - ref.json: "Location-independent identifier" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 419 - ref.json: "Location-independent identifier with base URI change in subschema" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 420 - ref.json: "Location-independent identifier with base URI change in subschema" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/nested.json#/definitions/B/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/root#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/nested.json#/definitions/B/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/root#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 421 - ref.json: "naive replacement of $ref with its destination is not correct" - "do not evaluate the $ref inside the enum, matching any string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 422 - ref.json: "naive replacement of $ref with its destination is not correct" - "match the enum exactly" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 423 - ref.json: "id must be resolved against nearest parent, not just immediate parent" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 424 - ref.json: "id must be resolved against nearest parent, not just immediate parent" - "non-number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/b/d.json#/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/a.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/b/d.json#/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/a.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 425 - ref.json: "id with file URI still resolves pointers - *nix" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 426 - ref.json: "id with file URI still resolves pointers - *nix" - "non-number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "file:///folder/file.json#/definitions/foo/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "file:///folder/file.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "file:///folder/file.json#/definitions/foo/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "file:///folder/file.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 427 - ref.json: "id with file URI still resolves pointers - windows" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 428 - ref.json: "id with file URI still resolves pointers - windows" - "non-number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "file:///c:/folder/file.json#/definitions/foo/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "file:///c:/folder/file.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "file:///c:/folder/file.json#/definitions/foo/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "file:///c:/folder/file.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 429 - ref.json: "empty tokens in $ref json-pointer" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 430 - ref.json: "empty tokens in $ref json-pointer" - "non-number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions//definitions//type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions//definitions//type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 431 - refRemote.json: "remote ref" - "remote ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 432 - refRemote.json: "remote ref" - "remote ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 433 - refRemote.json: "fragment within remote ref" - "remote fragment valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 434 - refRemote.json: "fragment within remote ref" - "remote fragment invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft4/subSchemas.json#/definitions/integer/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft4/subSchemas.json#/definitions/integer/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 435 - refRemote.json: "ref within remote ref" - "ref within ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 436 - refRemote.json: "ref within remote ref" - "ref within ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft4/subSchemas.json#/definitions/integer/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft4/subSchemas.json#/definitions/integer/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 437 - refRemote.json: "base URI change" - "base URI change ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 438 - refRemote.json: "base URI change" - "base URI change ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChange/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChange/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChange/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChange/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 439 - refRemote.json: "base URI change - change folder" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 440 - refRemote.json: "base URI change - change folder" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolder/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/properties/list/$ref/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolder/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/properties/list/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs1.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolder/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/properties/list/$ref/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolder/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/properties/list/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs1.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 441 - refRemote.json: "base URI change - change folder in subschema" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 442 - refRemote.json: "base URI change - change folder in subschema" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/properties/list/$ref/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/definitions/bar/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/properties/list/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs2.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/properties/list/$ref/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/definitions/bar/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/properties/list/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs2.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 443 - refRemote.json: "root ref in remote ref" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 444 - refRemote.json: "root ref in remote ref" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 445 - refRemote.json: "root ref in remote ref" - "object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft4/name.json#/definitions/orNull/anyOf/0/type",
    #       "error": "got object, not null",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft4/name.json#/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf/1/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft4/name.json#/definitions/orNull/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/object#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft4/name.json#/definitions/orNull/anyOf/0/type",
    #       "error": "got object, not null",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft4/name.json#/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf/1/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft4/name.json#/definitions/orNull/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/object#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 446 - refRemote.json: "Location-independent identifier in remote ref" - "integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 447 - refRemote.json: "Location-independent identifier in remote ref" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft4/locationIndependentIdentifier.json#/definitions/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft4/locationIndependentIdentifier.json#/definitions/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 448 - required.json: "required validation" - "present required property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 449 - required.json: "required validation" - "non-present required property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 450 - required.json: "required validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 451 - required.json: "required validation" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 452 - required.json: "required validation" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 453 - required.json: "required default validation" - "not required by default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 454 - required.json: "required with escaped characters" - "object with all properties present is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 455 - required.json: "required with escaped characters" - "object with some properties missing is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: foo\\bar, foo\rbar, foo\tbar, foo\fbar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: foo\\bar, foo\rbar, foo\tbar, foo\fbar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 456 - required.json: "required properties whose names are Javascript object property names" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 457 - required.json: "required properties whose names are Javascript object property names" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 458 - required.json: "required properties whose names are Javascript object property names" - "none of the properties mentioned" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, toString, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, toString, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 459 - required.json: "required properties whose names are Javascript object property names" - "__proto__ present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: toString, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: toString, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 460 - required.json: "required properties whose names are Javascript object property names" - "toString present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 461 - required.json: "required properties whose names are Javascript object property names" - "constructor present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, toString",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, toString",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 462 - required.json: "required properties whose names are Javascript object property names" - "all present" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 463 - type.json: "integer type matches integers" - "an integer is an integer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 464 - type.json: "integer type matches integers" - "a float is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 465 - type.json: "integer type matches integers" - "a string is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 466 - type.json: "integer type matches integers" - "a string is still not an integer, even if it looks like one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 467 - type.json: "integer type matches integers" - "an object is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 468 - type.json: "integer type matches integers" - "an array is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 469 - type.json: "integer type matches integers" - "a boolean is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 470 - type.json: "integer type matches integers" - "null is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 471 - type.json: "number type matches numbers" - "an integer is a number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 472 - type.json: "number type matches numbers" - "a float with zero fractional part is a number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 473 - type.json: "number type matches numbers" - "a float is a number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 474 - type.json: "number type matches numbers" - "a string is not a number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 475 - type.json: "number type matches numbers" - "a string is still not a number, even if it looks like one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 476 - type.json: "number type matches numbers" - "an object is not a number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 477 - type.json: "number type matches numbers" - "an array is not a number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 478 - type.json: "number type matches numbers" - "a boolean is not a number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 479 - type.json: "number type matches numbers" - "null is not a number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 480 - type.json: "string type matches strings" - "1 is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 481 - type.json: "string type matches strings" - "a float is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 482 - type.json: "string type matches strings" - "a string is a string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 483 - type.json: "string type matches strings" - "a string is still a string, even if it looks like a number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 484 - type.json: "string type matches strings" - "an empty string is still a string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 485 - type.json: "string type matches strings" - "an object is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 486 - type.json: "string type matches strings" - "an array is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 487 - type.json: "string type matches strings" - "a boolean is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 488 - type.json: "string type matches strings" - "null is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 489 - type.json: "object type matches objects" - "an integer is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 490 - type.json: "object type matches objects" - "a float is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 491 - type.json: "object type matches objects" - "a string is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 492 - type.json: "object type matches objects" - "an object is an object" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 493 - type.json: "object type matches objects" - "an array is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 494 - type.json: "object type matches objects" - "a boolean is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 495 - type.json: "object type matches objects" - "null is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 496 - type.json: "array type matches arrays" - "an integer is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 497 - type.json: "array type matches arrays" - "a float is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 498 - type.json: "array type matches arrays" - "a string is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 499 - type.json: "array type matches arrays" - "an object is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 500 - type.json: "array type matches arrays" - "an array is an array" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 501 - type.json: "array type matches arrays" - "a boolean is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 502 - type.json: "array type matches arrays" - "null is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 503 - type.json: "boolean type matches booleans" - "an integer is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 504 - type.json: "boolean type matches booleans" - "zero is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 505 - type.json: "boolean type matches booleans" - "a float is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 506 - type.json: "boolean type matches booleans" - "a string is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 507 - type.json: "boolean type matches booleans" - "an empty string is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 508 - type.json: "boolean type matches booleans" - "an object is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 509 - type.json: "boolean type matches booleans" - "an array is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 510 - type.json: "boolean type matches booleans" - "true is a boolean" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 511 - type.json: "boolean type matches booleans" - "false is a boolean" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 512 - type.json: "boolean type matches booleans" - "null is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 513 - type.json: "null type matches only the null object" - "an integer is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 514 - type.json: "null type matches only the null object" - "a float is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 515 - type.json: "null type matches only the null object" - "zero is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 516 - type.json: "null type matches only the null object" - "a string is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 517 - type.json: "null type matches only the null object" - "an empty string is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 518 - type.json: "null type matches only the null object" - "an object is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 519 - type.json: "null type matches only the null object" - "an array is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 520 - type.json: "null type matches only the null object" - "true is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 521 - type.json: "null type matches only the null object" - "false is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 522 - type.json: "null type matches only the null object" - "null is null" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 523 - type.json: "multiple types can be specified in an array" - "an integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 524 - type.json: "multiple types can be specified in an array" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 525 - type.json: "multiple types can be specified in an array" - "a float is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 526 - type.json: "multiple types can be specified in an array" - "an object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 527 - type.json: "multiple types can be specified in an array" - "an array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 528 - type.json: "multiple types can be specified in an array" - "a boolean is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 529 - type.json: "multiple types can be specified in an array" - "null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 530 - type.json: "type as array with one item" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 531 - type.json: "type as array with one item" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 532 - type.json: "type: array or object" - "array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 533 - type.json: "type: array or object" - "object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 534 - type.json: "type: array or object" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 535 - type.json: "type: array or object" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 536 - type.json: "type: array or object" - "null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 537 - type.json: "type: array, object or null" - "array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 538 - type.json: "type: array, object or null" - "object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 539 - type.json: "type: array, object or null" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 540 - type.json: "type: array, object or null" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of array, object, null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of array, object, null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 541 - type.json: "type: array, object or null" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not one of array, object, null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not one of array, object, null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 542 - uniqueItems.json: "uniqueItems validation" - "unique array of integers is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 543 - uniqueItems.json: "uniqueItems validation" - "non-unique array of integers is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 544 - uniqueItems.json: "uniqueItems validation" - "non-unique array of more than two integers is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 545 - uniqueItems.json: "uniqueItems validation" - "numbers are unique if mathematically unequal" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 546 - uniqueItems.json: "uniqueItems validation" - "false is not equal to zero" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 547 - uniqueItems.json: "uniqueItems validation" - "true is not equal to one" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 548 - uniqueItems.json: "uniqueItems validation" - "unique array of strings is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 549 - uniqueItems.json: "uniqueItems validation" - "non-unique array of strings is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 550 - uniqueItems.json: "uniqueItems validation" - "unique array of objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 551 - uniqueItems.json: "uniqueItems validation" - "non-unique array of objects is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 552 - uniqueItems.json: "uniqueItems validation" - "property order of array of objects is ignored" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 553 - uniqueItems.json: "uniqueItems validation" - "unique array of nested objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 554 - uniqueItems.json: "uniqueItems validation" - "non-unique array of nested objects is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 555 - uniqueItems.json: "uniqueItems validation" - "unique array of arrays is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 556 - uniqueItems.json: "uniqueItems validation" - "non-unique array of arrays is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 557 - uniqueItems.json: "uniqueItems validation" - "non-unique array of more than two arrays is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 558 - uniqueItems.json: "uniqueItems validation" - "1 and true are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 559 - uniqueItems.json: "uniqueItems validation" - "0 and false are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 560 - uniqueItems.json: "uniqueItems validation" - "[1] and [true] are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 561 - uniqueItems.json: "uniqueItems validation" - "[0] and [false] are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 562 - uniqueItems.json: "uniqueItems validation" - "nested [1] and [true] are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 563 - uniqueItems.json: "uniqueItems validation" - "nested [0] and [false] are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 564 - uniqueItems.json: "uniqueItems validation" - "unique heterogeneous types are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 565 - uniqueItems.json: "uniqueItems validation" - "non-unique heterogeneous types are invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 4 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 4 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 566 - uniqueItems.json: "uniqueItems validation" - "different objects are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 567 - uniqueItems.json: "uniqueItems validation" - "objects are non-unique despite key order" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 568 - uniqueItems.json: "uniqueItems validation" - "{"a": false} and {"a": 0} are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 569 - uniqueItems.json: "uniqueItems validation" - "{"a": true} and {"a": 1} are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 570 - uniqueItems.json: "uniqueItems with an array of items" - "[false, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 571 - uniqueItems.json: "uniqueItems with an array of items" - "[true, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 572 - uniqueItems.json: "uniqueItems with an array of items" - "[false, false] from items array is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 573 - uniqueItems.json: "uniqueItems with an array of items" - "[true, true] from items array is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 574 - uniqueItems.json: "uniqueItems with an array of items" - "unique array extended from [false, true] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 575 - uniqueItems.json: "uniqueItems with an array of items" - "unique array extended from [true, false] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 576 - uniqueItems.json: "uniqueItems with an array of items" - "non-unique array extended from [false, true] is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 2 and 3 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 2 and 3 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 577 - uniqueItems.json: "uniqueItems with an array of items" - "non-unique array extended from [true, false] is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 2 and 3 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 2 and 3 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 578 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[false, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 579 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[true, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 580 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[false, false] from items array is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 581 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[true, true] from items array is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 582 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "extra items are invalid even if unique" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 583 - uniqueItems.json: "uniqueItems=false validation" - "unique array of integers is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 584 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of integers is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 585 - uniqueItems.json: "uniqueItems=false validation" - "numbers are unique if mathematically unequal" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 586 - uniqueItems.json: "uniqueItems=false validation" - "false is not equal to zero" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 587 - uniqueItems.json: "uniqueItems=false validation" - "true is not equal to one" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 588 - uniqueItems.json: "uniqueItems=false validation" - "unique array of objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 589 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 590 - uniqueItems.json: "uniqueItems=false validation" - "unique array of nested objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 591 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of nested objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 592 - uniqueItems.json: "uniqueItems=false validation" - "unique array of arrays is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 593 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of arrays is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 594 - uniqueItems.json: "uniqueItems=false validation" - "1 and true are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 595 - uniqueItems.json: "uniqueItems=false validation" - "0 and false are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 596 - uniqueItems.json: "uniqueItems=false validation" - "unique heterogeneous types are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 597 - uniqueItems.json: "uniqueItems=false validation" - "non-unique heterogeneous types are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 598 - uniqueItems.json: "uniqueItems=false with an array of items" - "[false, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 599 - uniqueItems.json: "uniqueItems=false with an array of items" - "[true, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 600 - uniqueItems.json: "uniqueItems=false with an array of items" - "[false, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 601 - uniqueItems.json: "uniqueItems=false with an array of items" - "[true, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 602 - uniqueItems.json: "uniqueItems=false with an array of items" - "unique array extended from [false, true] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 603 - uniqueItems.json: "uniqueItems=false with an array of items" - "unique array extended from [true, false] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 604 - uniqueItems.json: "uniqueItems=false with an array of items" - "non-unique array extended from [false, true] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 605 - uniqueItems.json: "uniqueItems=false with an array of items" - "non-unique array extended from [true, false] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 606 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[false, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 607 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[true, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 608 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[false, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 609 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[true, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 610 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "extra items are invalid even if unique" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 611 - optional/bignum.json: "integer" - "a bignum is an integer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 612 - optional/bignum.json: "integer" - "a negative bignum is an integer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 613 - optional/bignum.json: "number" - "a bignum is a number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 614 - optional/bignum.json: "number" - "a negative bignum is a number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 615 - optional/bignum.json: "string" - "a bignum is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 616 - optional/bignum.json: "maximum integer comparison" - "comparison works for high numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 617 - optional/bignum.json: "float comparison with high precision" - "comparison works for high numbers" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 972783798187987123879878123.18878137",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 972783798187987123879878123.18878137",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 618 - optional/bignum.json: "minimum integer comparison" - "comparison works for very negative numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 619 - optional/bignum.json: "float comparison with high precision on negative numbers" - "comparison works for very negative numbers" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to -972783798187987123879878123.18878137",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to -972783798187987123879878123.18878137",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 620 - optional/ecmascript-regex.json: "ECMA 262 regex $ does not match trailing newline" - "matches in Python, but not in ECMA 262" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 621 - optional/ecmascript-regex.json: "ECMA 262 regex $ does not match trailing newline" - "matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 622 - optional/ecmascript-regex.json: "ECMA 262 regex converts \t to horizontal tab" - "does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 623 - optional/ecmascript-regex.json: "ECMA 262 regex converts \t to horizontal tab" - "matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 624 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and upper letter" - "does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 625 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and upper letter" - "matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 626 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and lower letter" - "does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 627 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and lower letter" - "matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 628 - optional/ecmascript-regex.json: "ECMA 262 \d matches ascii digits only" - "ASCII zero matches" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 629 - optional/ecmascript-regex.json: "ECMA 262 \d matches ascii digits only" - "NKO DIGIT ZERO does not match (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft4.t line 49.
    # expected false; got true
    # schema: {
    #   "pattern": "^\\d$",
    #   "type": "string"
    # }
    # data: "߀"
    # result: 1
    1..1
}
ok 630 - optional/ecmascript-regex.json: "ECMA 262 \d matches ascii digits only" - "NKO DIGIT ZERO (as \u escape) does not match" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft4.t line 49.
    # expected false; got true
    # schema: {
    #   "pattern": "^\\d$",
    #   "type": "string"
    # }
    # data: "߀"
    # result: 1
    1..1
}
ok 631 - optional/ecmascript-regex.json: "ECMA 262 \D matches everything but ascii digits" - "ASCII zero does not match" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 632 - optional/ecmascript-regex.json: "ECMA 262 \D matches everything but ascii digits" - "NKO DIGIT ZERO matches (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft4.t line 49.
    # expected true; got false
    # schema: {
    #   "pattern": "^\\D$",
    #   "type": "string"
    # }
    # data: "߀"
    # result: 0
    1..1
}
ok 633 - optional/ecmascript-regex.json: "ECMA 262 \D matches everything but ascii digits" - "NKO DIGIT ZERO (as \u escape) matches" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft4.t line 49.
    # expected true; got false
    # schema: {
    #   "pattern": "^\\D$",
    #   "type": "string"
    # }
    # data: "߀"
    # result: 0
    1..1
}
ok 634 - optional/ecmascript-regex.json: "ECMA 262 \w matches ascii letters only" - "ASCII 'a' matches" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 635 - optional/ecmascript-regex.json: "ECMA 262 \w matches ascii letters only" - "latin-1 e-acute does not match (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft4.t line 49.
    # expected false; got true
    # schema: {
    #   "pattern": "^\\w$",
    #   "type": "string"
    # }
    # data: "é"
    # result: 1
    1..1
}
ok 636 - optional/ecmascript-regex.json: "ECMA 262 \W matches everything but ascii letters" - "ASCII 'a' does not match" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 637 - optional/ecmascript-regex.json: "ECMA 262 \W matches everything but ascii letters" - "latin-1 e-acute matches (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft4.t line 49.
    # expected true; got false
    # schema: {
    #   "pattern": "^\\W$",
    #   "type": "string"
    # }
    # data: "é"
    # result: 0
    1..1
}
ok 638 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "ASCII space matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 639 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Character tabulation matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 640 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Line tabulation matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 641 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Form feed matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 642 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "latin-1 non-breaking-space matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 643 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "zero-width whitespace matches" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft4.t line 49.
    # expected true; got false
    # schema: {
    #   "pattern": "^\\s$",
    #   "type": "string"
    # }
    # data: ""
    # result: 0
    1..1
}
ok 644 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "line feed matches (line terminator)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 645 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "paragraph separator matches (line terminator)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 646 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "EM SPACE matches (Space_Separator)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 647 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Non-whitespace control does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 648 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Non-whitespace does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 649 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "ASCII space does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 650 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Character tabulation does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 651 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Line tabulation does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 652 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Form feed does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 653 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "latin-1 non-breaking-space does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 654 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "zero-width whitespace does not match" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft4.t line 49.
    # expected false; got true
    # schema: {
    #   "pattern": "^\\S$",
    #   "type": "string"
    # }
    # data: ""
    # result: 1
    1..1
}
ok 655 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "line feed does not match (line terminator)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 656 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "paragraph separator does not match (line terminator)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 657 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "EM SPACE does not match (Space_Separator)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 658 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Non-whitespace control matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 659 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Non-whitespace matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 660 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "ascii character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 661 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "literal unicode character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 662 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "unicode character in hex format in string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 663 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "unicode matching is case-sensitive" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 664 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "ascii character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 665 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "literal unicode character in json string" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft4.t line 49.
    # expected false; got true
    # schema: {
    #   "pattern": "\\wcole"
    # }
    # data: "Les hivers de mon enfance étaient des saisons longues, longues. Nous vivions en trois lieux: l'école, l'église et la patinoire; mais la vraie vie était sur la patinoire."
    # result: 1
    1..1
}
ok 666 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "unicode character in hex format in string" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft4.t line 49.
    # expected false; got true
    # schema: {
    #   "pattern": "\\wcole"
    # }
    # data: "Les hivers de mon enfance étaient des saisons longues, longues. Nous vivions en trois lieux: l'école, l'église et la patinoire; mais la vraie vie était sur la patinoire."
    # result: 1
    1..1
}
ok 667 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "unicode matching is case-sensitive" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 668 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "literal unicode character in json string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 669 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "unicode character in hex format in string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 670 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "ascii characters match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 671 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "ascii digits" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 672 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "ascii non-digits" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 673 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft4.t line 49.
    # expected false; got true
    # schema: {
    #   "pattern": "^\\d+$"
    # }
    # data: "৪২"
    # result: 1
    1..1
}
ok 674 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "ascii digits" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 675 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "ascii non-digits" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 676 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 677 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "ascii character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 678 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "literal unicode character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 679 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "unicode character in hex format in string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 680 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "unicode matching is case-sensitive" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/L'ÉCOLE",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/L'ÉCOLE",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 681 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "ascii character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 682 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "literal unicode character in json string" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft4.t line 49.
    # expected false; got true
    # schema: {
    #   "additionalProperties": false,
    #   "patternProperties": {
    #     "\\wcole": {}
    #   },
    #   "type": "object"
    # }
    # data: {
    #   "l'école": "pas de vraie vie"
    # }
    # result: 1
    1..1
}
ok 683 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "unicode character in hex format in string" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft4.t line 49.
    # expected false; got true
    # schema: {
    #   "additionalProperties": false,
    #   "patternProperties": {
    #     "\\wcole": {}
    #   },
    #   "type": "object"
    # }
    # data: {
    #   "l'école": "pas de vraie vie"
    # }
    # result: 1
    1..1
}
ok 684 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "unicode matching is case-sensitive" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/L'ÉCOLE",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/L'ÉCOLE",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 685 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "literal unicode character in json string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/l'école",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/l'école",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 686 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "unicode character in hex format in string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/l'école",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/l'école",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 687 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "ascii characters match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 688 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "ascii digits" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 689 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "ascii non-digits" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/-%#",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/-%#",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 690 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft4.t line 49.
    # expected false; got true
    # schema: {
    #   "additionalProperties": false,
    #   "patternProperties": {
    #     "^\\d+$": {}
    #   },
    #   "type": "object"
    # }
    # data: {
    #   "৪২": "khajit has wares if you have coin"
    # }
    # result: 1
    1..1
}
ok 691 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "ascii digits" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 692 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "ascii non-digits" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/-%#",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/-%#",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 693 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 694 - optional/float-overflow.json: "all integers are multiples of 0.5, if overflow is handled" - "valid if optional overflow handling is implemented" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 695 - optional/id.json: "id inside an enum is not a real identifier" - "exact match to enum, and type matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 696 - optional/id.json: "id inside an enum is not a real identifier" - "match $ref to id" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 697 - optional/id.json: "id inside an enum is not a real identifier" - "no match on enum or $ref to id" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/id_in_enum/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/my_identifier.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/id_in_enum/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/my_identifier.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 698 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches empty" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 699 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches single" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 700 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches two" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 701 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 702 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match two" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 703 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match one ASCII" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 704 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match two ASCII" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 705 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches empty" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 706 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches single" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 707 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches two" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 708 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "doesn't match one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/🐲",
    #       "keywordLocation": "/patternProperties/^🐲*$/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/🐲",
    #       "keywordLocation": "/patternProperties/^🐲*$/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 709 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "doesn't match two" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/🐲🐲",
    #       "keywordLocation": "/patternProperties/^🐲*$/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/🐲🐲",
    #       "keywordLocation": "/patternProperties/^🐲*$/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 710 - optional/zeroTerminatedFloats.json: "some languages do not distinguish between different types of numeric value" - "a float is not an integer even without fractional part" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft4.t line 49.
    # expected false; got true
    # schema: {
    #   "type": "integer"
    # }
    # data: 1
    # result: 1
    1..1
}
ok 711 - no leaks in the main evaluator object
ok 712 - no leaks in the short-circuiting evaluator object
1..712
ok
# AUTHOR_TESTING: <undef>
# AUTOMATED_TESTING: 1
# EXTENDED_TESTING: <undef>
# NO_TODO: <undef>
# TEST_DIR: <undef>
# NO_SHORT_CIRCUIT: <undef>
# 
# 
# generated with:              Test::JSON::Schema::Acceptance 1.027
# with commit:                 e524505b8ac4a61c5dc162b51d68c2385a134706 (Test-JSON-Schema-Acceptance-1.026-16-ge524505)
# from repository:             git://github.com/json-schema-org/JSON-Schema-Test-Suite.git
# specification version:       draft6
# using custom test directory: <base test directory>/optional/format
# optional tests included:     yes
# 
# filename                                  pass  todo-fail  fail
# ---------------------------------------------------------------
# date-time.json                              25          0     0
# email.json                                  15          0     0
# hostname.json                               20          4     0
# ipv4.json                                   16          0     0
# ipv6.json                                   40          0     0
# json-pointer.json                           38          0     0
# unknown.json                                 7          0     0
# uri-reference.json                          13          0     0
# uri-template.json                            9          1     0
# uri.json                                    25          1     0
# ---------------------------------------------------------------
# TOTAL                                      208          6     0
# 
# Congratulations, all non-optional tests are passing!
# 
t/zzz-acceptance-draft6-format.t ........ 
# running tests in /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/tests/draft6/optional/format against draft6...
# 
ok 1 - date-time.json: "validation of date-time strings" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 2 - date-time.json: "validation of date-time strings" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 3 - date-time.json: "validation of date-time strings" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 4 - date-time.json: "validation of date-time strings" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 5 - date-time.json: "validation of date-time strings" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 6 - date-time.json: "validation of date-time strings" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 7 - date-time.json: "validation of date-time strings" - "a valid date-time string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 8 - date-time.json: "validation of date-time strings" - "a valid date-time string without second fraction" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 9 - date-time.json: "validation of date-time strings" - "a valid date-time string with plus offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 10 - date-time.json: "validation of date-time strings" - "a valid date-time string with minus offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 11 - date-time.json: "validation of date-time strings" - "a valid date-time with a leap second, UTC" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 12 - date-time.json: "validation of date-time strings" - "a valid date-time with a leap second, with minus offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 13 - date-time.json: "validation of date-time strings" - "an invalid date-time past leap second, UTC" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 14 - date-time.json: "validation of date-time strings" - "an invalid date-time with leap second on a wrong minute, UTC" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 15 - date-time.json: "validation of date-time strings" - "an invalid date-time with leap second on a wrong hour, UTC" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 16 - date-time.json: "validation of date-time strings" - "an invalid day in date-time string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 17 - date-time.json: "validation of date-time strings" - "an invalid offset in date-time string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 18 - date-time.json: "validation of date-time strings" - "an invalid closing Z after time-zone offset" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 19 - date-time.json: "validation of date-time strings" - "an invalid date-time string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 20 - date-time.json: "validation of date-time strings" - "case-insensitive T and Z" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 21 - date-time.json: "validation of date-time strings" - "only RFC3339 not all of ISO 8601 are valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 22 - date-time.json: "validation of date-time strings" - "invalid non-padded month dates" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 23 - date-time.json: "validation of date-time strings" - "invalid non-padded day dates" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 24 - date-time.json: "validation of date-time strings" - "invalid non-ASCII '৪' (a Bengali 4) in date portion" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 25 - date-time.json: "validation of date-time strings" - "invalid non-ASCII '৪' (a Bengali 4) in time portion" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 26 - email.json: "validation of e-mail addresses" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 27 - email.json: "validation of e-mail addresses" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 28 - email.json: "validation of e-mail addresses" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 29 - email.json: "validation of e-mail addresses" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 30 - email.json: "validation of e-mail addresses" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 31 - email.json: "validation of e-mail addresses" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 32 - email.json: "validation of e-mail addresses" - "a valid e-mail address" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 33 - email.json: "validation of e-mail addresses" - "an invalid e-mail address" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 34 - email.json: "validation of e-mail addresses" - "tilde in local part is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 35 - email.json: "validation of e-mail addresses" - "tilde before local part is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 36 - email.json: "validation of e-mail addresses" - "tilde after local part is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 37 - email.json: "validation of e-mail addresses" - "dot before local part is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 38 - email.json: "validation of e-mail addresses" - "dot after local part is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 39 - email.json: "validation of e-mail addresses" - "two separated dots inside local part are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 40 - email.json: "validation of e-mail addresses" - "two subsequent dots inside local part are not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 41 - hostname.json: "validation of host names" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 42 - hostname.json: "validation of host names" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 43 - hostname.json: "validation of host names" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 44 - hostname.json: "validation of host names" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 45 - hostname.json: "validation of host names" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 46 - hostname.json: "validation of host names" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 47 - hostname.json: "validation of host names" - "a valid host name" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 48 - hostname.json: "validation of host names" - "a valid punycoded IDN hostname" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 49 - hostname.json: "validation of host names" - "a host name starting with an illegal character" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 50 - hostname.json: "validation of host names" - "a host name containing illegal characters" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 51 - hostname.json: "validation of host names" - "a host name with a component too long" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 52 - hostname.json: "validation of host names" - "starts with hyphen" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 53 - hostname.json: "validation of host names" - "ends with hyphen" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 54 - hostname.json: "validation of host names" - "starts with underscore" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 55 - hostname.json: "validation of host names" - "ends with underscore" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 56 - hostname.json: "validation of host names" - "contains underscore" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 57 - hostname.json: "validation of host names" - "maximum label length" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 58 - hostname.json: "validation of host names" - "exceeds maximum label length" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 59 - hostname.json: "validation of host names" - "single label" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft6-format.t line 66.
    # expected true; got false
    # schema: {
    #   "format": "hostname"
    # }
    # data: "hostname"
    # result: 0
    1..1
}
ok 60 - hostname.json: "validation of host names" - "single label with hyphen" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft6-format.t line 66.
    # expected true; got false
    # schema: {
    #   "format": "hostname"
    # }
    # data: "host-name"
    # result: 0
    1..1
}
ok 61 - hostname.json: "validation of host names" - "single label with digits" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft6-format.t line 66.
    # expected true; got false
    # schema: {
    #   "format": "hostname"
    # }
    # data: "h0stn4me"
    # result: 0
    1..1
}
ok 62 - hostname.json: "validation of host names" - "single label ending with digit" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft6-format.t line 66.
    # expected true; got false
    # schema: {
    #   "format": "hostname"
    # }
    # data: "hostnam3"
    # result: 0
    1..1
}
ok 63 - hostname.json: "validation of host names" - "empty string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 64 - hostname.json: "validation of host names" - "single dot" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 65 - ipv4.json: "validation of IP addresses" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 66 - ipv4.json: "validation of IP addresses" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 67 - ipv4.json: "validation of IP addresses" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 68 - ipv4.json: "validation of IP addresses" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 69 - ipv4.json: "validation of IP addresses" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 70 - ipv4.json: "validation of IP addresses" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 71 - ipv4.json: "validation of IP addresses" - "a valid IP address" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 72 - ipv4.json: "validation of IP addresses" - "an IP address with too many components" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 73 - ipv4.json: "validation of IP addresses" - "an IP address with out-of-range values" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 74 - ipv4.json: "validation of IP addresses" - "an IP address without 4 components" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 75 - ipv4.json: "validation of IP addresses" - "an IP address as an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 76 - ipv4.json: "validation of IP addresses" - "an IP address as an integer (decimal)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 77 - ipv4.json: "validation of IP addresses" - "invalid leading zeroes, as they are treated as octals" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 78 - ipv4.json: "validation of IP addresses" - "value without leading zero is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 79 - ipv4.json: "validation of IP addresses" - "invalid non-ASCII '২' (a Bengali 2)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 80 - ipv4.json: "validation of IP addresses" - "netmask is not a part of ipv4 address" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 81 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 82 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 83 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 84 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 85 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 86 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 87 - ipv6.json: "validation of IPv6 addresses" - "a valid IPv6 address" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 88 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address with out-of-range values" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 89 - ipv6.json: "validation of IPv6 addresses" - "trailing 4 hex symbols is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 90 - ipv6.json: "validation of IPv6 addresses" - "trailing 5 hex symbols is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 91 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address with too many components" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 92 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address containing illegal characters" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 93 - ipv6.json: "validation of IPv6 addresses" - "no digits is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 94 - ipv6.json: "validation of IPv6 addresses" - "leading colons is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 95 - ipv6.json: "validation of IPv6 addresses" - "trailing colons is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 96 - ipv6.json: "validation of IPv6 addresses" - "missing leading octet is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 97 - ipv6.json: "validation of IPv6 addresses" - "missing trailing octet is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 98 - ipv6.json: "validation of IPv6 addresses" - "missing leading octet with omitted octets later" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 99 - ipv6.json: "validation of IPv6 addresses" - "single set of double colons in the middle is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 100 - ipv6.json: "validation of IPv6 addresses" - "two sets of double colons is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 101 - ipv6.json: "validation of IPv6 addresses" - "mixed format with the ipv4 section as decimal octets" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 102 - ipv6.json: "validation of IPv6 addresses" - "mixed format with double colons between the sections" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 103 - ipv6.json: "validation of IPv6 addresses" - "mixed format with ipv4 section with octet out of range" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 104 - ipv6.json: "validation of IPv6 addresses" - "mixed format with ipv4 section with a hex octet" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 105 - ipv6.json: "validation of IPv6 addresses" - "mixed format with leading double colons (ipv4-mapped ipv6 address)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 106 - ipv6.json: "validation of IPv6 addresses" - "triple colons is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 107 - ipv6.json: "validation of IPv6 addresses" - "8 octets" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 108 - ipv6.json: "validation of IPv6 addresses" - "insufficient octets without double colons" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 109 - ipv6.json: "validation of IPv6 addresses" - "no colons is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 110 - ipv6.json: "validation of IPv6 addresses" - "ipv4 is not ipv6" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 111 - ipv6.json: "validation of IPv6 addresses" - "ipv4 segment must have 4 octets" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 112 - ipv6.json: "validation of IPv6 addresses" - "leading whitespace is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 113 - ipv6.json: "validation of IPv6 addresses" - "trailing whitespace is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 114 - ipv6.json: "validation of IPv6 addresses" - "netmask is not a part of ipv6 address" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 115 - ipv6.json: "validation of IPv6 addresses" - "zone id is not a part of ipv6 address" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 116 - ipv6.json: "validation of IPv6 addresses" - "a long valid ipv6" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 117 - ipv6.json: "validation of IPv6 addresses" - "a long invalid ipv6, below length limit, first" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 118 - ipv6.json: "validation of IPv6 addresses" - "a long invalid ipv6, below length limit, second" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 119 - ipv6.json: "validation of IPv6 addresses" - "invalid non-ASCII '৪' (a Bengali 4)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 120 - ipv6.json: "validation of IPv6 addresses" - "invalid non-ASCII '৪' (a Bengali 4) in the IPv4 portion" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 121 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 122 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 123 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 124 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 125 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 126 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 127 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "a valid JSON-pointer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 128 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (~ not escaped)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 129 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer with empty segment" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 130 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer with the last empty segment" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 131 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#1" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 132 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#2" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 133 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#3" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 134 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#4" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 135 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#5" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 136 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#6" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 137 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#7" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 138 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#8" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 139 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#9" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 140 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#10" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 141 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#11" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 142 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#12" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 143 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer used adding to the last array position" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 144 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (- used as object member name)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 145 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (multiple escaped characters)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 146 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (escaped with fraction part) \#1" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 147 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (escaped with fraction part) \#2" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 148 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#1" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 149 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#2" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 150 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#3" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 151 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (some escaped, but not all) \#1" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 152 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (some escaped, but not all) \#2" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 153 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (wrong escape character) \#1" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 154 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (wrong escape character) \#2" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 155 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (multiple characters not escaped)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 156 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#1" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 157 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#2" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 158 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#3" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 159 - unknown.json: "unknown format" - "unknown formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 160 - unknown.json: "unknown format" - "unknown formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 161 - unknown.json: "unknown format" - "unknown formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 162 - unknown.json: "unknown format" - "unknown formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 163 - unknown.json: "unknown format" - "unknown formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 164 - unknown.json: "unknown format" - "unknown formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 165 - unknown.json: "unknown format" - "unknown formats ignore strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 166 - uri-reference.json: "validation of URI References" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 167 - uri-reference.json: "validation of URI References" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 168 - uri-reference.json: "validation of URI References" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 169 - uri-reference.json: "validation of URI References" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 170 - uri-reference.json: "validation of URI References" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 171 - uri-reference.json: "validation of URI References" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 172 - uri-reference.json: "validation of URI References" - "a valid URI" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 173 - uri-reference.json: "validation of URI References" - "a valid protocol-relative URI Reference" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 174 - uri-reference.json: "validation of URI References" - "a valid relative URI Reference" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 175 - uri-reference.json: "validation of URI References" - "an invalid URI Reference" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri-reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri-reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 176 - uri-reference.json: "validation of URI References" - "a valid URI Reference" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 177 - uri-reference.json: "validation of URI References" - "a valid URI fragment" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 178 - uri-reference.json: "validation of URI References" - "an invalid URI fragment" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri-reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri-reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 179 - uri-template.json: "format: uri-template" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 180 - uri-template.json: "format: uri-template" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 181 - uri-template.json: "format: uri-template" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 182 - uri-template.json: "format: uri-template" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 183 - uri-template.json: "format: uri-template" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 184 - uri-template.json: "format: uri-template" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 185 - uri-template.json: "format: uri-template" - "a valid uri-template" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 186 - uri-template.json: "format: uri-template" - "an invalid uri-template" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft6-format.t line 66.
    # expected false; got true
    # schema: {
    #   "format": "uri-template"
    # }
    # data: "http://example.com/dictionary/{term:1}/{term"
    # result: 1
    1..1
}
ok 187 - uri-template.json: "format: uri-template" - "a valid uri-template without variables" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 188 - uri-template.json: "format: uri-template" - "a valid relative uri-template" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
# 
ok 189 - uri.json: "validation of URIs" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 190 - uri.json: "validation of URIs" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 191 - uri.json: "validation of URIs" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 192 - uri.json: "validation of URIs" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 193 - uri.json: "validation of URIs" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 194 - uri.json: "validation of URIs" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 195 - uri.json: "validation of URIs" - "a valid URL with anchor tag" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 196 - uri.json: "validation of URIs" - "a valid URL with anchor tag and parentheses" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 197 - uri.json: "validation of URIs" - "a valid URL with URL-encoded stuff" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 198 - uri.json: "validation of URIs" - "a valid puny-coded URL " {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 199 - uri.json: "validation of URIs" - "a valid URL with many special characters" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 200 - uri.json: "validation of URIs" - "a valid URL based on IPv4" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 201 - uri.json: "validation of URIs" - "a valid URL with ftp scheme" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 202 - uri.json: "validation of URIs" - "a valid URL for a simple text file" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 203 - uri.json: "validation of URIs" - "a valid URL " {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 204 - uri.json: "validation of URIs" - "a valid mailto URI" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 205 - uri.json: "validation of URIs" - "a valid newsgroup URI" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 206 - uri.json: "validation of URIs" - "a valid tel URI" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 207 - uri.json: "validation of URIs" - "a valid URN" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 208 - uri.json: "validation of URIs" - "an invalid protocol-relative URI Reference" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 209 - uri.json: "validation of URIs" - "an invalid relative URI Reference" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 210 - uri.json: "validation of URIs" - "an invalid URI" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 211 - uri.json: "validation of URIs" - "an invalid URI though valid URI reference" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 212 - uri.json: "validation of URIs" - "an invalid URI with spaces" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 213 - uri.json: "validation of URIs" - "an invalid URI with spaces and missing scheme" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 214 - uri.json: "validation of URIs" - "an invalid URI with comma in scheme" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft6-format.t line 66.
    # expected false; got true
    # schema: {
    #   "format": "uri"
    # }
    # data: "bar,baz:foo"
    # result: 1
    1..1
}
ok 215 - no leaks in the main evaluator object
ok 216 - no leaks in the short-circuiting evaluator object
1..216
ok
# AUTHOR_TESTING: <undef>
# AUTOMATED_TESTING: 1
# EXTENDED_TESTING: <undef>
# NO_TODO: <undef>
# TEST_DIR: <undef>
# NO_SHORT_CIRCUIT: <undef>
# 
# 
# generated with:              Test::JSON::Schema::Acceptance 1.027
# with commit:                 e524505b8ac4a61c5dc162b51d68c2385a134706 (Test-JSON-Schema-Acceptance-1.026-16-ge524505)
# from repository:             git://github.com/json-schema-org/JSON-Schema-Test-Suite.git
# specification version:       draft6
# optional tests included:     yes
# skipping directory:          optional/format
# 
# filename                                  pass  todo-fail  fail
# ---------------------------------------------------------------
# additionalItems.json                        20          0     0
# additionalProperties.json                   16          0     0
# allOf.json                                  30          0     0
# anyOf.json                                  18          0     0
# boolean_schema.json                         18          0     0
# const.json                                  50          0     0
# contains.json                               19          0     0
# default.json                                 7          0     0
# definitions.json                             2          0     0
# dependencies.json                           36          0     0
# enum.json                                   45          0     0
# exclusiveMaximum.json                        4          0     0
# exclusiveMinimum.json                        4          0     0
# format.json                                 54          0     0
# infinite-loop-detection.json                 2          0     0
# items.json                                  28          0     0
# maxItems.json                                6          0     0
# maxLength.json                               7          0     0
# maxProperties.json                          10          0     0
# maximum.json                                 8          0     0
# minItems.json                                6          0     0
# minLength.json                               7          0     0
# minProperties.json                           8          0     0
# minimum.json                                11          0     0
# multipleOf.json                             10          0     0
# not.json                                    38          0     0
# oneOf.json                                  27          0     0
# pattern.json                                 9          0     0
# patternProperties.json                      23          0     0
# properties.json                             28          0     0
# propertyNames.json                          13          0     0
# ref.json                                    70          0     0
# refRemote.json                              23          0     0
# required.json                               16          0     0
# type.json                                   80          0     0
# uniqueItems.json                            69          0     0
# optional/bignum.json                         9          0     0
# optional/ecmascript-regex.json              60         14     0
# optional/float-overflow.json                 1          0     0
# optional/id.json                             7          0     0
# optional/non-bmp-regex.json                 12          0     0
# optional/unknownKeyword.json                 3          0     0
# ---------------------------------------------------------------
# TOTAL                                      914         14     0
# 
# Congratulations, all non-optional tests are passing!
# 
t/zzz-acceptance-draft6.t ............... 
# adding resources from /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/remotes with the base URI "http://localhost:1234"...
# running tests in /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/tests/draft6 against draft6...
# 
ok 1 - additionalItems.json: "additionalItems as schema" - "additional items match schema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 2 - additionalItems.json: "additionalItems as schema" - "additional items do not match schema" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/additionalItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/additionalItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 3 - additionalItems.json: "when items is schema, additionalItems does nothing" - "valid with a array of type integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 4 - additionalItems.json: "when items is schema, additionalItems does nothing" - "invalid with a array of mixed types" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/type"
    #     },
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 5 - additionalItems.json: "when items is schema, boolean additionalItems does nothing" - "all items match schema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 6 - additionalItems.json: "array of items with no additionalItems permitted" - "empty array" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 7 - additionalItems.json: "array of items with no additionalItems permitted" - "fewer number of items present (1)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 8 - additionalItems.json: "array of items with no additionalItems permitted" - "fewer number of items present (2)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 9 - additionalItems.json: "array of items with no additionalItems permitted" - "equal number of items present" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 10 - additionalItems.json: "array of items with no additionalItems permitted" - "additional items are not permitted" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 11 - additionalItems.json: "additionalItems as false without items" - "items defaults to empty schema so everything is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 12 - additionalItems.json: "additionalItems as false without items" - "ignores non-arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 13 - additionalItems.json: "additionalItems are allowed by default" - "only the first item is validated" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 14 - additionalItems.json: "additionalItems does not look in applicators, valid case" - "items defined in allOf are not examined" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 15 - additionalItems.json: "additionalItems does not look in applicators, invalid case" - "items defined in allOf are not examined" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/additionalItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/additionalItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 16 - additionalItems.json: "items validation adjusts the starting index for additionalItems" - "valid items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 17 - additionalItems.json: "items validation adjusts the starting index for additionalItems" - "wrong type of second item" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/additionalItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/additionalItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 18 - additionalItems.json: "additionalItems with heterogeneous array" - "heterogeneous invalid instance" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 19 - additionalItems.json: "additionalItems with heterogeneous array" - "valid instance" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 20 - additionalItems.json: "additionalItems with null instance elements" - "allows null elements" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 21 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "no additional properties is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 22 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "an additional property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 23 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 24 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 25 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 26 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "patternProperties are not additional properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 27 - additionalProperties.json: "non-ASCII pattern with additionalProperties" - "matching the pattern is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 28 - additionalProperties.json: "non-ASCII pattern with additionalProperties" - "not matching the pattern is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/élmény",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/élmény",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 29 - additionalProperties.json: "additionalProperties with schema" - "no additional properties is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 30 - additionalProperties.json: "additionalProperties with schema" - "an additional valid property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 31 - additionalProperties.json: "additionalProperties with schema" - "an additional invalid property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 32 - additionalProperties.json: "additionalProperties can exist by itself" - "an additional valid property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 33 - additionalProperties.json: "additionalProperties can exist by itself" - "an additional invalid property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 34 - additionalProperties.json: "additionalProperties are allowed by default" - "additional properties are allowed" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 35 - additionalProperties.json: "additionalProperties does not look in applicators" - "properties defined in allOf are not examined" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 36 - additionalProperties.json: "additionalProperties with null valued instance properties" - "allows null values" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 37 - allOf.json: "allOf" - "allOf" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 38 - allOf.json: "allOf" - "mismatch second" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 39 - allOf.json: "allOf" - "mismatch first" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/required"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/required"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 40 - allOf.json: "allOf" - "wrong type" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/properties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/properties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 41 - allOf.json: "allOf with base schema" - "valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 42 - allOf.json: "allOf with base schema" - "mismatch base schema" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 43 - allOf.json: "allOf with base schema" - "mismatch first allOf" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 44 - allOf.json: "allOf with base schema" - "mismatch second allOf" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: baz",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/required"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: baz",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/required"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 45 - allOf.json: "allOf with base schema" - "mismatch both" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "object is missing property: baz",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/required"
    #     },
    #     {
    #       "error": "subschemas 0, 1 are not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 46 - allOf.json: "allOf simple types" - "valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 47 - allOf.json: "allOf simple types" - "mismatch one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 30",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/maximum"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 30",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/maximum"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 48 - allOf.json: "allOf with boolean schemas, all true" - "any value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 49 - allOf.json: "allOf with boolean schemas, some false" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 50 - allOf.json: "allOf with boolean schemas, all false" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1"
    #     },
    #     {
    #       "error": "subschemas 0, 1 are not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 51 - allOf.json: "allOf with one empty schema" - "any data is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 52 - allOf.json: "allOf with two empty schemas" - "any data is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 53 - allOf.json: "allOf with the first empty schema" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 54 - allOf.json: "allOf with the first empty schema" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/type"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/type"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 55 - allOf.json: "allOf with the last empty schema" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 56 - allOf.json: "allOf with the last empty schema" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 57 - allOf.json: "nested allOf, to check validation semantics" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 58 - allOf.json: "nested allOf, to check validation semantics" - "anything non-null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/allOf/0/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/allOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/allOf/0/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/allOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 59 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: false, oneOf: false" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 60 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: false, oneOf: true" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 61 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: true, oneOf: false" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 62 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: true, oneOf: true" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 63 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: false, oneOf: false" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 64 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: false, oneOf: true" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 65 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: true, oneOf: false" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 66 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: true, oneOf: true" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 67 - anyOf.json: "anyOf" - "first anyOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 68 - anyOf.json: "anyOf" - "second anyOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 69 - anyOf.json: "anyOf" - "both anyOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 70 - anyOf.json: "anyOf" - "neither anyOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/minimum"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/minimum"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 71 - anyOf.json: "anyOf with base schema" - "mismatch base schema" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 72 - anyOf.json: "anyOf with base schema" - "one anyOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 73 - anyOf.json: "anyOf with base schema" - "both anyOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/maxLength"
    #     },
    #     {
    #       "error": "length is less than 4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/minLength"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/maxLength"
    #     },
    #     {
    #       "error": "length is less than 4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/minLength"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 74 - anyOf.json: "anyOf with boolean schemas, all true" - "any value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 75 - anyOf.json: "anyOf with boolean schemas, some true" - "any value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 76 - anyOf.json: "anyOf with boolean schemas, all false" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 77 - anyOf.json: "anyOf complex types" - "first anyOf valid (complex)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 78 - anyOf.json: "anyOf complex types" - "second anyOf valid (complex)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 79 - anyOf.json: "anyOf complex types" - "both anyOf valid (complex)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 80 - anyOf.json: "anyOf complex types" - "neither anyOf valid (complex)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/anyOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/properties"
    #     },
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/properties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/anyOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/properties"
    #     },
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/properties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 81 - anyOf.json: "anyOf with one empty schema" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 82 - anyOf.json: "anyOf with one empty schema" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 83 - anyOf.json: "nested anyOf, to check validation semantics" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 84 - anyOf.json: "nested anyOf, to check validation semantics" - "anything non-null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/anyOf/0/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/anyOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/anyOf/0/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/anyOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 85 - boolean_schema.json: "boolean schema 'true'" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 86 - boolean_schema.json: "boolean schema 'true'" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 87 - boolean_schema.json: "boolean schema 'true'" - "boolean true is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 88 - boolean_schema.json: "boolean schema 'true'" - "boolean false is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 89 - boolean_schema.json: "boolean schema 'true'" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 90 - boolean_schema.json: "boolean schema 'true'" - "object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 91 - boolean_schema.json: "boolean schema 'true'" - "empty object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 92 - boolean_schema.json: "boolean schema 'true'" - "array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 93 - boolean_schema.json: "boolean schema 'true'" - "empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 94 - boolean_schema.json: "boolean schema 'false'" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 95 - boolean_schema.json: "boolean schema 'false'" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 96 - boolean_schema.json: "boolean schema 'false'" - "boolean true is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 97 - boolean_schema.json: "boolean schema 'false'" - "boolean false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 98 - boolean_schema.json: "boolean schema 'false'" - "null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 99 - boolean_schema.json: "boolean schema 'false'" - "object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 100 - boolean_schema.json: "boolean schema 'false'" - "empty object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 101 - boolean_schema.json: "boolean schema 'false'" - "array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 102 - boolean_schema.json: "boolean schema 'false'" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 103 - const.json: "const validation" - "same value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 104 - const.json: "const validation" - "another value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 105 - const.json: "const validation" - "another type is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 106 - const.json: "const with object" - "same object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 107 - const.json: "const with object" - "same object with different property order is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 108 - const.json: "const with object" - "another object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 109 - const.json: "const with object" - "another type is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 110 - const.json: "const with array" - "same array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 111 - const.json: "const with array" - "another array item is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs object)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs object)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 112 - const.json: "const with array" - "array with additional items is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 113 - const.json: "const with null" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 114 - const.json: "const with null" - "not null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 115 - const.json: "const with false does not match 0" - "false is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 116 - const.json: "const with false does not match 0" - "integer zero is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 117 - const.json: "const with false does not match 0" - "float zero is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 118 - const.json: "const with true does not match 1" - "true is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 119 - const.json: "const with true does not match 1" - "integer one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 120 - const.json: "const with true does not match 1" - "float one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 121 - const.json: "const with [false] does not match [0]" - "[false] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 122 - const.json: "const with [false] does not match [0]" - "[0] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 123 - const.json: "const with [false] does not match [0]" - "[0.0] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 124 - const.json: "const with [true] does not match [1]" - "[true] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 125 - const.json: "const with [true] does not match [1]" - "[1] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 126 - const.json: "const with [true] does not match [1]" - "[1.0] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 127 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": false} is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 128 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": 0} is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 129 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": 0.0} is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 130 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": true} is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 131 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": 1} is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 132 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": 1.0} is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 133 - const.json: "const with 0 does not match other zero-like types" - "false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 134 - const.json: "const with 0 does not match other zero-like types" - "integer zero is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 135 - const.json: "const with 0 does not match other zero-like types" - "float zero is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 136 - const.json: "const with 0 does not match other zero-like types" - "empty object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 137 - const.json: "const with 0 does not match other zero-like types" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 138 - const.json: "const with 0 does not match other zero-like types" - "empty string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 139 - const.json: "const with 1 does not match true" - "true is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 140 - const.json: "const with 1 does not match true" - "integer one is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 141 - const.json: "const with 1 does not match true" - "float one is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 142 - const.json: "const with -2.0 matches integer and float types" - "integer -2 is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 143 - const.json: "const with -2.0 matches integer and float types" - "integer 2 is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 144 - const.json: "const with -2.0 matches integer and float types" - "float -2.0 is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 145 - const.json: "const with -2.0 matches integer and float types" - "float 2.0 is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 146 - const.json: "const with -2.0 matches integer and float types" - "float -2.00001 is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 147 - const.json: "float and integers are equal up to 64-bit representation limits" - "integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 148 - const.json: "float and integers are equal up to 64-bit representation limits" - "integer minus one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 149 - const.json: "float and integers are equal up to 64-bit representation limits" - "float is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 150 - const.json: "float and integers are equal up to 64-bit representation limits" - "float minus one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 151 - const.json: "nul characters in strings" - "match string with nul" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 152 - const.json: "nul characters in strings" - "do not match string lacking nul" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 153 - contains.json: "contains keyword validation" - "array with item matching schema (5) is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 154 - contains.json: "contains keyword validation" - "array with item matching schema (6) is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 155 - contains.json: "contains keyword validation" - "array with two items matching schema (5, 6) is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 156 - contains.json: "contains keyword validation" - "array without items matching schema is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 5",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/minimum"
    #     },
    #     {
    #       "error": "value is less than 5",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/minimum"
    #     },
    #     {
    #       "error": "value is less than 5",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/contains/minimum"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 5",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/minimum"
    #     },
    #     {
    #       "error": "value is less than 5",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/minimum"
    #     },
    #     {
    #       "error": "value is less than 5",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/contains/minimum"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 157 - contains.json: "contains keyword validation" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 158 - contains.json: "contains keyword validation" - "not array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 159 - contains.json: "contains keyword with const keyword" - "array with item 5 is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 160 - contains.json: "contains keyword with const keyword" - "array with two items 5 is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 161 - contains.json: "contains keyword with const keyword" - "array without item 5 is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 162 - contains.json: "contains keyword with boolean schema true" - "any non-empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 163 - contains.json: "contains keyword with boolean schema true" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 164 - contains.json: "contains keyword with boolean schema false" - "any non-empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 165 - contains.json: "contains keyword with boolean schema false" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 166 - contains.json: "contains keyword with boolean schema false" - "non-arrays are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 167 - contains.json: "items + contains" - "matches items, does not match contains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 168 - contains.json: "items + contains" - "does not match items, matches contains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 169 - contains.json: "items + contains" - "matches both items and contains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 170 - contains.json: "items + contains" - "matches neither items nor contains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 171 - contains.json: "contains with null instance elements" - "allows null items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 172 - default.json: "invalid type for default" - "valid when property is specified" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 173 - default.json: "invalid type for default" - "still valid when the invalid default is used" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 174 - default.json: "invalid string value for default" - "valid when property is specified" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 175 - default.json: "invalid string value for default" - "still valid when the invalid default is used" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 176 - default.json: "the default keyword does not do anything if the property is missing" - "an explicit property value is checked against maximum (passing)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 177 - default.json: "the default keyword does not do anything if the property is missing" - "an explicit property value is checked against maximum (failing)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 3",
    #       "instanceLocation": "/alpha",
    #       "keywordLocation": "/properties/alpha/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 3",
    #       "instanceLocation": "/alpha",
    #       "keywordLocation": "/properties/alpha/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 178 - default.json: "the default keyword does not do anything if the property is missing" - "missing properties are not filled in with the default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 179 - definitions.json: "validate definition against metaschema" - "valid definition schema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 180 - definitions.json: "validate definition against metaschema" - "invalid definition schema" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-06/schema#/definitions/simpleTypes/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "/definitions/foo/type",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-06/schema#/properties/type/anyOf/1/type",
    #       "error": "got integer, not array",
    #       "instanceLocation": "/definitions/foo/type",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-06/schema#/properties/type/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/definitions/foo/type",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-06/schema#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/definitions/foo",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-06/schema#/properties/definitions/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/definitions",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-06/schema#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-06/schema#/definitions/simpleTypes/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "/definitions/foo/type",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-06/schema#/properties/type/anyOf/1/type",
    #       "error": "got integer, not array",
    #       "instanceLocation": "/definitions/foo/type",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-06/schema#/properties/type/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/definitions/foo/type",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-06/schema#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/definitions/foo",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-06/schema#/properties/definitions/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/definitions",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-06/schema#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 181 - dependencies.json: "dependencies" - "neither" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 182 - dependencies.json: "dependencies" - "nondependant" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 183 - dependencies.json: "dependencies" - "with dependency" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 184 - dependencies.json: "dependencies" - "missing dependency" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 185 - dependencies.json: "dependencies" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 186 - dependencies.json: "dependencies" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 187 - dependencies.json: "dependencies" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 188 - dependencies.json: "dependencies with empty array" - "empty object" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 189 - dependencies.json: "dependencies with empty array" - "object with one property" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 190 - dependencies.json: "dependencies with empty array" - "non-object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 191 - dependencies.json: "multiple dependencies" - "neither" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 192 - dependencies.json: "multiple dependencies" - "nondependants" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 193 - dependencies.json: "multiple dependencies" - "with dependencies" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 194 - dependencies.json: "multiple dependencies" - "missing dependency" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 195 - dependencies.json: "multiple dependencies" - "missing other dependency" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 196 - dependencies.json: "multiple dependencies" - "missing both dependencies" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: foo, bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: foo, bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 197 - dependencies.json: "multiple dependencies subschema" - "valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 198 - dependencies.json: "multiple dependencies subschema" - "no dependency" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 199 - dependencies.json: "multiple dependencies subschema" - "wrong type" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependencies/bar/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependencies/bar/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 200 - dependencies.json: "multiple dependencies subschema" - "wrong type other" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/dependencies/bar/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/dependencies/bar/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 201 - dependencies.json: "multiple dependencies subschema" - "wrong type both" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/dependencies/bar/properties/bar/type"
    #     },
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependencies/bar/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/dependencies/bar/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 202 - dependencies.json: "dependencies with boolean subschemas" - "object with property having schema true is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 203 - dependencies.json: "dependencies with boolean subschemas" - "object with property having schema false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 204 - dependencies.json: "dependencies with boolean subschemas" - "object with both properties is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 205 - dependencies.json: "dependencies with boolean subschemas" - "empty object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 206 - dependencies.json: "dependencies with escaped characters" - "valid object 1" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 207 - dependencies.json: "dependencies with escaped characters" - "valid object 2" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 208 - dependencies.json: "dependencies with escaped characters" - "valid object 3" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 209 - dependencies.json: "dependencies with escaped characters" - "invalid object 1" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo\rbar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo\nbar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo\rbar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo\nbar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 210 - dependencies.json: "dependencies with escaped characters" - "invalid object 2" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 4 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo\tbar/minProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 4 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo\tbar/minProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 211 - dependencies.json: "dependencies with escaped characters" - "invalid object 3" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo\"bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo'bar/required"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo\"bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo'bar/required"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 212 - dependencies.json: "dependencies with escaped characters" - "invalid object 4" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo'bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo\"bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo'bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo\"bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 213 - dependencies.json: "dependent subschema incompatible with root" - "matches root" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependencies/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependencies/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 214 - dependencies.json: "dependent subschema incompatible with root" - "matches dependency" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 215 - dependencies.json: "dependent subschema incompatible with root" - "matches both" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependencies/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependencies/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 216 - dependencies.json: "dependent subschema incompatible with root" - "no dependency" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 217 - enum.json: "simple enum validation" - "one of the enum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 218 - enum.json: "simple enum validation" - "something else is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 219 - enum.json: "heterogeneous enum validation" - "one of the enum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 220 - enum.json: "heterogeneous enum validation" - "something else is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 221 - enum.json: "heterogeneous enum validation" - "objects are deep compared" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '': wrong type: object vs integer; from enum 1 at '': wrong type: object vs string; from enum 2 at '': wrong type: object vs array; from enum 3 at '': wrong type: object vs boolean; from enum 4 at '/foo': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '': wrong type: object vs integer; from enum 1 at '': wrong type: object vs string; from enum 2 at '': wrong type: object vs array; from enum 3 at '': wrong type: object vs boolean; from enum 4 at '/foo': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 222 - enum.json: "heterogeneous enum validation" - "valid object matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 223 - enum.json: "heterogeneous enum validation" - "extra properties in object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 224 - enum.json: "heterogeneous enum-with-null validation" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 225 - enum.json: "heterogeneous enum-with-null validation" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 226 - enum.json: "heterogeneous enum-with-null validation" - "something else is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 227 - enum.json: "enums in properties" - "both properties are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 228 - enum.json: "enums in properties" - "wrong foo value" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 229 - enum.json: "enums in properties" - "wrong bar value" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 230 - enum.json: "enums in properties" - "missing optional property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 231 - enum.json: "enums in properties" - "missing required property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 232 - enum.json: "enums in properties" - "missing all properties is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 233 - enum.json: "enum with escaped characters" - "member 1 is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 234 - enum.json: "enum with escaped characters" - "member 2 is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 235 - enum.json: "enum with escaped characters" - "another string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 236 - enum.json: "enum with false does not match 0" - "false is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 237 - enum.json: "enum with false does not match 0" - "integer zero is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 238 - enum.json: "enum with false does not match 0" - "float zero is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 239 - enum.json: "enum with [false] does not match [0]" - "[false] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 240 - enum.json: "enum with [false] does not match [0]" - "[0] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 241 - enum.json: "enum with [false] does not match [0]" - "[0.0] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 242 - enum.json: "enum with true does not match 1" - "true is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 243 - enum.json: "enum with true does not match 1" - "integer one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 244 - enum.json: "enum with true does not match 1" - "float one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 245 - enum.json: "enum with [true] does not match [1]" - "[true] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 246 - enum.json: "enum with [true] does not match [1]" - "[1] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 247 - enum.json: "enum with [true] does not match [1]" - "[1.0] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 248 - enum.json: "enum with 0 does not match false" - "false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 249 - enum.json: "enum with 0 does not match false" - "integer zero is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 250 - enum.json: "enum with 0 does not match false" - "float zero is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 251 - enum.json: "enum with [0] does not match [false]" - "[false] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 252 - enum.json: "enum with [0] does not match [false]" - "[0] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 253 - enum.json: "enum with [0] does not match [false]" - "[0.0] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 254 - enum.json: "enum with 1 does not match true" - "true is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 255 - enum.json: "enum with 1 does not match true" - "integer one is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 256 - enum.json: "enum with 1 does not match true" - "float one is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 257 - enum.json: "enum with [1] does not match [true]" - "[true] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 258 - enum.json: "enum with [1] does not match [true]" - "[1] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 259 - enum.json: "enum with [1] does not match [true]" - "[1.0] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 260 - enum.json: "nul characters in strings" - "match string with nul" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 261 - enum.json: "nul characters in strings" - "do not match string lacking nul" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 262 - exclusiveMaximum.json: "exclusiveMaximum validation" - "below the exclusiveMaximum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 263 - exclusiveMaximum.json: "exclusiveMaximum validation" - "boundary point is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 264 - exclusiveMaximum.json: "exclusiveMaximum validation" - "above the exclusiveMaximum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 265 - exclusiveMaximum.json: "exclusiveMaximum validation" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 266 - exclusiveMinimum.json: "exclusiveMinimum validation" - "above the exclusiveMinimum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 267 - exclusiveMinimum.json: "exclusiveMinimum validation" - "boundary point is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 268 - exclusiveMinimum.json: "exclusiveMinimum validation" - "below the exclusiveMinimum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 269 - exclusiveMinimum.json: "exclusiveMinimum validation" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 270 - format.json: "email format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 271 - format.json: "email format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 272 - format.json: "email format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 273 - format.json: "email format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 274 - format.json: "email format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 275 - format.json: "email format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 276 - format.json: "ipv4 format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 277 - format.json: "ipv4 format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 278 - format.json: "ipv4 format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 279 - format.json: "ipv4 format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 280 - format.json: "ipv4 format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 281 - format.json: "ipv4 format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 282 - format.json: "ipv6 format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 283 - format.json: "ipv6 format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 284 - format.json: "ipv6 format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 285 - format.json: "ipv6 format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 286 - format.json: "ipv6 format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 287 - format.json: "ipv6 format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 288 - format.json: "hostname format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 289 - format.json: "hostname format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 290 - format.json: "hostname format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 291 - format.json: "hostname format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 292 - format.json: "hostname format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 293 - format.json: "hostname format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 294 - format.json: "date-time format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 295 - format.json: "date-time format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 296 - format.json: "date-time format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 297 - format.json: "date-time format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 298 - format.json: "date-time format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 299 - format.json: "date-time format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 300 - format.json: "json-pointer format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 301 - format.json: "json-pointer format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 302 - format.json: "json-pointer format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 303 - format.json: "json-pointer format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 304 - format.json: "json-pointer format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 305 - format.json: "json-pointer format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 306 - format.json: "uri format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 307 - format.json: "uri format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 308 - format.json: "uri format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 309 - format.json: "uri format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 310 - format.json: "uri format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 311 - format.json: "uri format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 312 - format.json: "uri-reference format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 313 - format.json: "uri-reference format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 314 - format.json: "uri-reference format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 315 - format.json: "uri-reference format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 316 - format.json: "uri-reference format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 317 - format.json: "uri-reference format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 318 - format.json: "uri-template format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 319 - format.json: "uri-template format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 320 - format.json: "uri-template format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 321 - format.json: "uri-template format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 322 - format.json: "uri-template format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 323 - format.json: "uri-template format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 324 - infinite-loop-detection.json: "evaluating the same schema location against the same data location twice is not a sign of an infinite loop" - "passing case" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 325 - infinite-loop-detection.json: "evaluating the same schema location against the same data location twice is not a sign of an infinite loop" - "failing case" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/int/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/0/properties/foo/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/definitions/int/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/1/additionalProperties/$ref/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/additionalProperties"
    #     },
    #     {
    #       "error": "subschemas 0, 1 are not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/int/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/0/properties/foo/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/properties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 326 - items.json: "a schema given for items" - "valid items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 327 - items.json: "a schema given for items" - "wrong type of items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 328 - items.json: "a schema given for items" - "ignores non-arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 329 - items.json: "a schema given for items" - "JavaScript pseudo-array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 330 - items.json: "an array of schemas for items" - "correct types" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 331 - items.json: "an array of schemas for items" - "wrong types" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/type"
    #     },
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/1/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 332 - items.json: "an array of schemas for items" - "incomplete array of items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 333 - items.json: "an array of schemas for items" - "array with additional items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 334 - items.json: "an array of schemas for items" - "empty array" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 335 - items.json: "an array of schemas for items" - "JavaScript pseudo-array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 336 - items.json: "items with boolean schema (true)" - "any array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 337 - items.json: "items with boolean schema (true)" - "empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 338 - items.json: "items with boolean schema (false)" - "any non-empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 339 - items.json: "items with boolean schema (false)" - "empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 340 - items.json: "items with boolean schemas" - "array with one item is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 341 - items.json: "items with boolean schemas" - "array with two items is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/1"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/1"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 342 - items.json: "items with boolean schemas" - "empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 343 - items.json: "items and subitems" - "valid items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 344 - items.json: "items and subitems" - "too many items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 345 - items.json: "items and subitems" - "too many sub-items" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/item/additionalItems",
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0/2",
    #       "keywordLocation": "/items/0/$ref/additionalItems"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/definitions/item/additionalItems",
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/$ref/additionalItems"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/item/additionalItems",
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0/2",
    #       "keywordLocation": "/items/0/$ref/additionalItems"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/definitions/item/additionalItems",
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/$ref/additionalItems"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 346 - items.json: "items and subitems" - "wrong item" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/item/type",
    #       "error": "got object, not array",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/$ref/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/item/type",
    #       "error": "got object, not array",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/$ref/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 347 - items.json: "items and subitems" - "wrong sub-item" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/sub-item/required",
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/0/$ref/items/0/$ref/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/definitions/item/items",
    #       "error": "not all items are valid",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/$ref/items"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/sub-item/required",
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/0/$ref/items/0/$ref/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/definitions/item/items",
    #       "error": "not all items are valid",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/$ref/items"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 348 - items.json: "items and subitems" - "fewer items is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 349 - items.json: "nested items" - "valid nested array" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 350 - items.json: "nested items" - "nested array with invalid type" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/0/0/0/0",
    #       "keywordLocation": "/items/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0/0",
    #       "keywordLocation": "/items/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/0/0/0/0",
    #       "keywordLocation": "/items/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0/0",
    #       "keywordLocation": "/items/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 351 - items.json: "nested items" - "not deep enough" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/0/0/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/0/1/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/1",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/0/2/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/2",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/1/0/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/1/0",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/1/1/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/1/1",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/1/2/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/1/2",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/0/0/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 352 - items.json: "single-form items with null instance elements" - "allows null elements" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 353 - items.json: "array-form items with null instance elements" - "allows null elements" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 354 - maxItems.json: "maxItems validation" - "shorter is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 355 - maxItems.json: "maxItems validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 356 - maxItems.json: "maxItems validation" - "too long is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 357 - maxItems.json: "maxItems validation" - "ignores non-arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 358 - maxItems.json: "maxItems validation with a decimal" - "shorter is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 359 - maxItems.json: "maxItems validation with a decimal" - "too long is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 360 - maxLength.json: "maxLength validation" - "shorter is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 361 - maxLength.json: "maxLength validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 362 - maxLength.json: "maxLength validation" - "too long is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 363 - maxLength.json: "maxLength validation" - "ignores non-strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 364 - maxLength.json: "maxLength validation" - "two graphemes is long enough" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 365 - maxLength.json: "maxLength validation with a decimal" - "shorter is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 366 - maxLength.json: "maxLength validation with a decimal" - "too long is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 367 - maxProperties.json: "maxProperties validation" - "shorter is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 368 - maxProperties.json: "maxProperties validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 369 - maxProperties.json: "maxProperties validation" - "too long is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 2 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 2 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 370 - maxProperties.json: "maxProperties validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 371 - maxProperties.json: "maxProperties validation" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 372 - maxProperties.json: "maxProperties validation" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 373 - maxProperties.json: "maxProperties validation with a decimal" - "shorter is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 374 - maxProperties.json: "maxProperties validation with a decimal" - "too long is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 2 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 2 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 375 - maxProperties.json: "maxProperties = 0 means the object is empty" - "no properties is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 376 - maxProperties.json: "maxProperties = 0 means the object is empty" - "one property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 0 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 0 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 377 - maximum.json: "maximum validation" - "below the maximum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 378 - maximum.json: "maximum validation" - "boundary point is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 379 - maximum.json: "maximum validation" - "above the maximum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 380 - maximum.json: "maximum validation" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 381 - maximum.json: "maximum validation with unsigned integer" - "below the maximum is invalid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 382 - maximum.json: "maximum validation with unsigned integer" - "boundary point integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 383 - maximum.json: "maximum validation with unsigned integer" - "boundary point float is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 384 - maximum.json: "maximum validation with unsigned integer" - "above the maximum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 300",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 300",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 385 - minItems.json: "minItems validation" - "longer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 386 - minItems.json: "minItems validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 387 - minItems.json: "minItems validation" - "too short is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 388 - minItems.json: "minItems validation" - "ignores non-arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 389 - minItems.json: "minItems validation with a decimal" - "longer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 390 - minItems.json: "minItems validation with a decimal" - "too short is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 391 - minLength.json: "minLength validation" - "longer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 392 - minLength.json: "minLength validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 393 - minLength.json: "minLength validation" - "too short is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 394 - minLength.json: "minLength validation" - "ignores non-strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 395 - minLength.json: "minLength validation" - "one grapheme is not long enough" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 396 - minLength.json: "minLength validation with a decimal" - "longer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 397 - minLength.json: "minLength validation with a decimal" - "too short is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 398 - minProperties.json: "minProperties validation" - "longer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 399 - minProperties.json: "minProperties validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 400 - minProperties.json: "minProperties validation" - "too short is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 401 - minProperties.json: "minProperties validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 402 - minProperties.json: "minProperties validation" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 403 - minProperties.json: "minProperties validation" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 404 - minProperties.json: "minProperties validation with a decimal" - "longer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 405 - minProperties.json: "minProperties validation with a decimal" - "too short is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 406 - minimum.json: "minimum validation" - "above the minimum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 407 - minimum.json: "minimum validation" - "boundary point is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 408 - minimum.json: "minimum validation" - "below the minimum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 409 - minimum.json: "minimum validation" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 410 - minimum.json: "minimum validation with signed integer" - "negative above the minimum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 411 - minimum.json: "minimum validation with signed integer" - "positive above the minimum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 412 - minimum.json: "minimum validation with signed integer" - "boundary point is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 413 - minimum.json: "minimum validation with signed integer" - "boundary point with float is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 414 - minimum.json: "minimum validation with signed integer" - "float below the minimum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 415 - minimum.json: "minimum validation with signed integer" - "int below the minimum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 416 - minimum.json: "minimum validation with signed integer" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 417 - multipleOf.json: "by int" - "int by int" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 418 - multipleOf.json: "by int" - "int by int fail" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 419 - multipleOf.json: "by int" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 420 - multipleOf.json: "by number" - "zero is multiple of anything" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 421 - multipleOf.json: "by number" - "4.5 is multiple of 1.5" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 422 - multipleOf.json: "by number" - "35 is not multiple of 1.5" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 1.5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 1.5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 423 - multipleOf.json: "by small number" - "0.0075 is multiple of 0.0001" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 424 - multipleOf.json: "by small number" - "0.00751 is not multiple of 0.0001" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 0.0001",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 0.0001",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 425 - multipleOf.json: "float division = inf" - "always invalid, but naive implementations may raise an overflow error" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 0.123456789",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 0.123456789",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 426 - multipleOf.json: "small multiple of large integer" - "any integer is a multiple of 1e-8" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 427 - not.json: "not" - "allowed" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 428 - not.json: "not" - "disallowed" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 429 - not.json: "not multiple types" - "valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 430 - not.json: "not multiple types" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 431 - not.json: "not multiple types" - "other mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 432 - not.json: "not more complex schema" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 433 - not.json: "not more complex schema" - "other match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 434 - not.json: "not more complex schema" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 435 - not.json: "forbidden property" - "property present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/not"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/not"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 436 - not.json: "forbidden property" - "property absent" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 437 - not.json: "forbid everything with empty schema" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 438 - not.json: "forbid everything with empty schema" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 439 - not.json: "forbid everything with empty schema" - "boolean true is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 440 - not.json: "forbid everything with empty schema" - "boolean false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 441 - not.json: "forbid everything with empty schema" - "null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 442 - not.json: "forbid everything with empty schema" - "object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 443 - not.json: "forbid everything with empty schema" - "empty object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 444 - not.json: "forbid everything with empty schema" - "array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 445 - not.json: "forbid everything with empty schema" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 446 - not.json: "forbid everything with boolean schema true" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 447 - not.json: "forbid everything with boolean schema true" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 448 - not.json: "forbid everything with boolean schema true" - "boolean true is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 449 - not.json: "forbid everything with boolean schema true" - "boolean false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 450 - not.json: "forbid everything with boolean schema true" - "null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 451 - not.json: "forbid everything with boolean schema true" - "object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 452 - not.json: "forbid everything with boolean schema true" - "empty object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 453 - not.json: "forbid everything with boolean schema true" - "array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 454 - not.json: "forbid everything with boolean schema true" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 455 - not.json: "allow everything with boolean schema false" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 456 - not.json: "allow everything with boolean schema false" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 457 - not.json: "allow everything with boolean schema false" - "boolean true is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 458 - not.json: "allow everything with boolean schema false" - "boolean false is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 459 - not.json: "allow everything with boolean schema false" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 460 - not.json: "allow everything with boolean schema false" - "object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 461 - not.json: "allow everything with boolean schema false" - "empty object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 462 - not.json: "allow everything with boolean schema false" - "array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 463 - not.json: "allow everything with boolean schema false" - "empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 464 - not.json: "double negation" - "any value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 465 - oneOf.json: "oneOf" - "first oneOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 466 - oneOf.json: "oneOf" - "second oneOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 467 - oneOf.json: "oneOf" - "both oneOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 468 - oneOf.json: "oneOf" - "neither oneOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/type"
    #     },
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/minimum"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/type"
    #     },
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/minimum"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 469 - oneOf.json: "oneOf with base schema" - "mismatch base schema" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     },
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 470 - oneOf.json: "oneOf with base schema" - "one oneOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 471 - oneOf.json: "oneOf with base schema" - "both oneOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 472 - oneOf.json: "oneOf with boolean schemas, all true" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1, 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 473 - oneOf.json: "oneOf with boolean schemas, one true" - "any value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 474 - oneOf.json: "oneOf with boolean schemas, more than one true" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 475 - oneOf.json: "oneOf with boolean schemas, all false" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/2"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/2"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 476 - oneOf.json: "oneOf complex types" - "first oneOf valid (complex)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 477 - oneOf.json: "oneOf complex types" - "second oneOf valid (complex)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 478 - oneOf.json: "oneOf complex types" - "both oneOf valid (complex)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 479 - oneOf.json: "oneOf complex types" - "neither oneOf valid (complex)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/oneOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/properties"
    #     },
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/oneOf/1/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/properties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/oneOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/properties"
    #     },
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/oneOf/1/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/properties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 480 - oneOf.json: "oneOf with empty schema" - "one valid - valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 481 - oneOf.json: "oneOf with empty schema" - "both valid - invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 482 - oneOf.json: "oneOf with required" - "both invalid - invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/required"
    #     },
    #     {
    #       "error": "object is missing properties: foo, baz",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/required"
    #     },
    #     {
    #       "error": "object is missing properties: foo, baz",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 483 - oneOf.json: "oneOf with required" - "first valid - valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 484 - oneOf.json: "oneOf with required" - "second valid - valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 485 - oneOf.json: "oneOf with required" - "both valid - invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 486 - oneOf.json: "oneOf with missing optional property" - "first oneOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 487 - oneOf.json: "oneOf with missing optional property" - "second oneOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 488 - oneOf.json: "oneOf with missing optional property" - "both oneOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 489 - oneOf.json: "oneOf with missing optional property" - "neither oneOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/required"
    #     },
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/required"
    #     },
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 490 - oneOf.json: "nested oneOf, to check validation semantics" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 491 - oneOf.json: "nested oneOf, to check validation semantics" - "anything non-null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/oneOf/0/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/oneOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/oneOf/0/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/oneOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 492 - pattern.json: "pattern validation" - "a matching pattern is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 493 - pattern.json: "pattern validation" - "a non-matching pattern is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 494 - pattern.json: "pattern validation" - "ignores booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 495 - pattern.json: "pattern validation" - "ignores integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 496 - pattern.json: "pattern validation" - "ignores floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 497 - pattern.json: "pattern validation" - "ignores objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 498 - pattern.json: "pattern validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 499 - pattern.json: "pattern validation" - "ignores null" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 500 - pattern.json: "pattern is not anchored" - "matches a substring" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 501 - patternProperties.json: "patternProperties validates properties matching a regex" - "a single valid match is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 502 - patternProperties.json: "patternProperties validates properties matching a regex" - "multiple valid matches is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 503 - patternProperties.json: "patternProperties validates properties matching a regex" - "a single invalid match is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.*o/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.*o/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 504 - patternProperties.json: "patternProperties validates properties matching a regex" - "multiple invalid matches is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.*o/type"
    #     },
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foooooo",
    #       "keywordLocation": "/patternProperties/f.*o/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.*o/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 505 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 506 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 507 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 508 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "a single valid match is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 509 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "a simultaneous match is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 510 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "multiple matches is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 511 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/a",
    #       "keywordLocation": "/patternProperties/a*/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/a",
    #       "keywordLocation": "/patternProperties/a*/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 512 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to the other is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 20",
    #       "instanceLocation": "/aaaa",
    #       "keywordLocation": "/patternProperties/aaa*/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 20",
    #       "instanceLocation": "/aaaa",
    #       "keywordLocation": "/patternProperties/aaa*/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 513 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to both is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/aaa",
    #       "keywordLocation": "/patternProperties/a*/type"
    #     },
    #     {
    #       "error": "value is greater than 20",
    #       "instanceLocation": "/aaaa",
    #       "keywordLocation": "/patternProperties/aaa*/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/aaa",
    #       "keywordLocation": "/patternProperties/a*/type"
    #     },
    #     {
    #       "error": "value is greater than 20",
    #       "instanceLocation": "/aaaa",
    #       "keywordLocation": "/patternProperties/aaa*/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 514 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "non recognized members are ignored" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 515 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "recognized members are accounted for" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not boolean",
    #       "instanceLocation": "/a31b",
    #       "keywordLocation": "/patternProperties/[0-9]{2,}/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not boolean",
    #       "instanceLocation": "/a31b",
    #       "keywordLocation": "/patternProperties/[0-9]{2,}/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 516 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "regexes are case sensitive" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 517 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "regexes are case sensitive, 2" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/a_X_3",
    #       "keywordLocation": "/patternProperties/X_/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/a_X_3",
    #       "keywordLocation": "/patternProperties/X_/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 518 - patternProperties.json: "patternProperties with boolean schemas" - "object with property matching schema true is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 519 - patternProperties.json: "patternProperties with boolean schemas" - "object with property matching schema false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/patternProperties/b.*"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/patternProperties/b.*"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 520 - patternProperties.json: "patternProperties with boolean schemas" - "object with both properties is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/patternProperties/b.*"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/patternProperties/b.*"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 521 - patternProperties.json: "patternProperties with boolean schemas" - "object with a property matching both true and false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/foobar",
    #       "keywordLocation": "/patternProperties/b.*"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/foobar",
    #       "keywordLocation": "/patternProperties/b.*"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 522 - patternProperties.json: "patternProperties with boolean schemas" - "empty object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 523 - patternProperties.json: "patternProperties with null valued instance properties" - "allows null values" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 524 - properties.json: "object properties validation" - "both properties present and valid is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 525 - properties.json: "object properties validation" - "one property invalid is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 526 - properties.json: "object properties validation" - "both properties invalid is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/type"
    #     },
    #     {
    #       "error": "got array, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 527 - properties.json: "object properties validation" - "doesn't invalidate other properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 528 - properties.json: "object properties validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 529 - properties.json: "object properties validation" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 530 - properties.json: "properties, patternProperties, additionalProperties interaction" - "property validates property" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 531 - properties.json: "properties, patternProperties, additionalProperties interaction" - "property invalidates property" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 3 items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/maxItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 3 items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/maxItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 532 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty invalidates property" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.o/minItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.o/minItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 533 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty validates nonproperty" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 534 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty invalidates nonproperty" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "/fxo",
    #       "keywordLocation": "/patternProperties/f.o/minItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "/fxo",
    #       "keywordLocation": "/patternProperties/f.o/minItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 535 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty ignores property" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 536 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty validates others" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 537 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty invalidates others" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 538 - properties.json: "properties with boolean schema" - "no property present is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 539 - properties.json: "properties with boolean schema" - "only 'true' property present is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 540 - properties.json: "properties with boolean schema" - "only 'false' property present is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 541 - properties.json: "properties with boolean schema" - "both properties present is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 542 - properties.json: "properties with escaped characters" - "object with all numbers is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 543 - properties.json: "properties with escaped characters" - "object with strings is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\tbar",
    #       "keywordLocation": "/properties/foo\tbar/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\nbar",
    #       "keywordLocation": "/properties/foo\nbar/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\fbar",
    #       "keywordLocation": "/properties/foo\fbar/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\rbar",
    #       "keywordLocation": "/properties/foo\rbar/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\"bar",
    #       "keywordLocation": "/properties/foo\"bar/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\\bar",
    #       "keywordLocation": "/properties/foo\\bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\tbar",
    #       "keywordLocation": "/properties/foo\tbar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 544 - properties.json: "properties with null valued instance properties" - "allows null values" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 545 - properties.json: "properties whose names are Javascript object property names" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 546 - properties.json: "properties whose names are Javascript object property names" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 547 - properties.json: "properties whose names are Javascript object property names" - "none of the properties mentioned" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 548 - properties.json: "properties whose names are Javascript object property names" - "__proto__ not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/__proto__",
    #       "keywordLocation": "/properties/__proto__/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/__proto__",
    #       "keywordLocation": "/properties/__proto__/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 549 - properties.json: "properties whose names are Javascript object property names" - "toString not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/toString/length",
    #       "keywordLocation": "/properties/toString/properties/length/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/toString",
    #       "keywordLocation": "/properties/toString/properties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/toString/length",
    #       "keywordLocation": "/properties/toString/properties/length/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/toString",
    #       "keywordLocation": "/properties/toString/properties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 550 - properties.json: "properties whose names are Javascript object property names" - "constructor not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not number",
    #       "instanceLocation": "/constructor",
    #       "keywordLocation": "/properties/constructor/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not number",
    #       "instanceLocation": "/constructor",
    #       "keywordLocation": "/properties/constructor/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 551 - properties.json: "properties whose names are Javascript object property names" - "all present and valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 552 - propertyNames.json: "propertyNames validation" - "all property names valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 553 - propertyNames.json: "propertyNames validation" - "some property names invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 3",
    #       "instanceLocation": "/foobar",
    #       "keywordLocation": "/propertyNames/maxLength"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 3",
    #       "instanceLocation": "/foobar",
    #       "keywordLocation": "/propertyNames/maxLength"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 554 - propertyNames.json: "propertyNames validation" - "object without properties is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 555 - propertyNames.json: "propertyNames validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 556 - propertyNames.json: "propertyNames validation" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 557 - propertyNames.json: "propertyNames validation" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 558 - propertyNames.json: "propertyNames validation with pattern" - "matching property names valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 559 - propertyNames.json: "propertyNames validation with pattern" - "non-matching property name is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "/aaA",
    #       "keywordLocation": "/propertyNames/pattern"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "/aaA",
    #       "keywordLocation": "/propertyNames/pattern"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 560 - propertyNames.json: "propertyNames validation with pattern" - "object without properties is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 561 - propertyNames.json: "propertyNames with boolean schema true" - "object with any properties is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 562 - propertyNames.json: "propertyNames with boolean schema true" - "empty object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 563 - propertyNames.json: "propertyNames with boolean schema false" - "object with any properties is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 564 - propertyNames.json: "propertyNames with boolean schema false" - "empty object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 565 - ref.json: "root pointer ref" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 566 - ref.json: "root pointer ref" - "recursive match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 567 - ref.json: "root pointer ref" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 568 - ref.json: "root pointer ref" - "recursive mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/additionalProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/$ref/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/additionalProperties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/additionalProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/$ref/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/additionalProperties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 569 - ref.json: "relative pointer ref to object" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 570 - ref.json: "relative pointer ref to object" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/properties/foo/type",
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/properties/foo/type",
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 571 - ref.json: "relative pointer ref to array" - "match array" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 572 - ref.json: "relative pointer ref to array" - "mismatch array" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/items/0/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/1/$ref/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/items/0/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/1/$ref/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 573 - ref.json: "escaped pointer ref" - "slash invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/slash~1field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/slash",
    #       "keywordLocation": "/properties/slash/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/slash~1field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/slash",
    #       "keywordLocation": "/properties/slash/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 574 - ref.json: "escaped pointer ref" - "tilde invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/tilde~0field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/tilde",
    #       "keywordLocation": "/properties/tilde/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/tilde~0field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/tilde",
    #       "keywordLocation": "/properties/tilde/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 575 - ref.json: "escaped pointer ref" - "percent invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/percent%25field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/percent",
    #       "keywordLocation": "/properties/percent/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/percent%25field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/percent",
    #       "keywordLocation": "/properties/percent/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 576 - ref.json: "escaped pointer ref" - "slash valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 577 - ref.json: "escaped pointer ref" - "tilde valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 578 - ref.json: "escaped pointer ref" - "percent valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 579 - ref.json: "nested refs" - "nested ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 580 - ref.json: "nested refs" - "nested ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/a/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/$ref/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/a/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/$ref/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 581 - ref.json: "ref overrides any sibling keywords" - "ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 582 - ref.json: "ref overrides any sibling keywords" - "ref valid, maxItems ignored" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 583 - ref.json: "ref overrides any sibling keywords" - "ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/reffed/type",
    #       "error": "got string, not array",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/reffed/type",
    #       "error": "got string, not array",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 584 - ref.json: "$ref prevents a sibling $id from changing the base uri" - "$ref resolves to /definitions/base_foo, data does not validate" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/sibling_id/base/foo.json#/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/sibling_id/base/#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/sibling_id/base/foo.json#/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/sibling_id/base/#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 585 - ref.json: "$ref prevents a sibling $id from changing the base uri" - "$ref resolves to /definitions/base_foo, data validates" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 586 - ref.json: "remote ref, containing refs itself" - "remote ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 587 - ref.json: "remote ref, containing refs itself" - "remote ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-06/schema#/definitions/nonNegativeInteger/minimum",
    #       "error": "value is less than 0",
    #       "instanceLocation": "/minLength",
    #       "keywordLocation": "/$ref/properties/minLength/$ref/allOf/0/$ref/minimum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-06/schema#/definitions/nonNegativeIntegerDefault0/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "/minLength",
    #       "keywordLocation": "/$ref/properties/minLength/$ref/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-06/schema#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-06/schema#/definitions/nonNegativeInteger/minimum",
    #       "error": "value is less than 0",
    #       "instanceLocation": "/minLength",
    #       "keywordLocation": "/$ref/properties/minLength/$ref/allOf/0/$ref/minimum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-06/schema#/definitions/nonNegativeIntegerDefault0/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "/minLength",
    #       "keywordLocation": "/$ref/properties/minLength/$ref/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-06/schema#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 588 - ref.json: "property named $ref that is not a reference" - "property named $ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 589 - ref.json: "property named $ref that is not a reference" - "property named $ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/$ref",
    #       "keywordLocation": "/properties/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/$ref",
    #       "keywordLocation": "/properties/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 590 - ref.json: "property named $ref, containing an actual $ref" - "property named $ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 591 - ref.json: "property named $ref, containing an actual $ref" - "property named $ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/is-string/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/$ref",
    #       "keywordLocation": "/properties/$ref/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/is-string/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/$ref",
    #       "keywordLocation": "/properties/$ref/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 592 - ref.json: "$ref to boolean schema true" - "any value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 593 - ref.json: "$ref to boolean schema false" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/bool",
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/bool",
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 594 - ref.json: "Recursive references between schemas" - "valid tree" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 595 - ref.json: "Recursive references between schemas" - "invalid tree" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/node#/properties/value/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "/nodes/0/subtree/nodes/0/value",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties/value/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/node#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0/subtree/nodes/0",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/tree#/properties/nodes/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/nodes/0/subtree/nodes",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/tree#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0/subtree",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/node#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/tree#/properties/nodes/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/nodes",
    #       "keywordLocation": "/properties/nodes/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/tree#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/node#/properties/value/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "/nodes/0/subtree/nodes/0/value",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties/value/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/node#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0/subtree/nodes/0",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/tree#/properties/nodes/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/nodes/0/subtree/nodes",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/tree#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0/subtree",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/node#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/tree#/properties/nodes/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/nodes",
    #       "keywordLocation": "/properties/nodes/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/tree#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 596 - ref.json: "refs with quote" - "object with numbers is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 597 - ref.json: "refs with quote" - "object with strings is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/foo%22bar/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\"bar",
    #       "keywordLocation": "/properties/foo\"bar/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/foo%22bar/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\"bar",
    #       "keywordLocation": "/properties/foo\"bar/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 598 - ref.json: "Location-independent identifier" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 599 - ref.json: "Location-independent identifier" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 600 - ref.json: "Reference an anchor with a non-relative URI" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 601 - ref.json: "Reference an anchor with a non-relative URI" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://example.com/schema-with-anchor#/definitions/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://example.com/schema-with-anchor#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://example.com/schema-with-anchor#/definitions/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://example.com/schema-with-anchor#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 602 - ref.json: "Location-independent identifier with base URI change in subschema" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 603 - ref.json: "Location-independent identifier with base URI change in subschema" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/nested.json#/definitions/B/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/root#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/nested.json#/definitions/B/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/root#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 604 - ref.json: "naive replacement of $ref with its destination is not correct" - "do not evaluate the $ref inside the enum, matching any string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 605 - ref.json: "naive replacement of $ref with its destination is not correct" - "do not evaluate the $ref inside the enum, definition exact match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 606 - ref.json: "naive replacement of $ref with its destination is not correct" - "match the enum exactly" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 607 - ref.json: "refs with relative uris and defs" - "invalid on inner field" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/allOf/0/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/allOf/0/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/allOf/0/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/allOf/0/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 608 - ref.json: "refs with relative uris and defs" - "invalid on outer field" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 609 - ref.json: "refs with relative uris and defs" - "valid on both fields" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 610 - ref.json: "relative refs with absolute uris and defs" - "invalid on inner field" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/allOf/0/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/allOf/0/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/allOf/0/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/allOf/0/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 611 - ref.json: "relative refs with absolute uris and defs" - "invalid on outer field" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 612 - ref.json: "relative refs with absolute uris and defs" - "valid on both fields" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 613 - ref.json: "simple URN base URI with $ref via the URN" - "valid under the URN IDed schema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 614 - ref.json: "simple URN base URI with $ref via the URN" - "invalid under the URN IDed schema" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/minimum",
    #       "error": "value is less than 30",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/minimum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/minimum",
    #       "error": "value is less than 30",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/minimum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 615 - ref.json: "simple URN base URI with JSON pointer" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 616 - ref.json: "simple URN base URI with JSON pointer" - "a non-string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/definitions/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/definitions/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 617 - ref.json: "URN base URI with NSS" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 618 - ref.json: "URN base URI with NSS" - "a non-string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:example:1/406/47452/2#/definitions/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:example:1/406/47452/2#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:example:1/406/47452/2#/definitions/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:example:1/406/47452/2#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 619 - ref.json: "URN base URI with r-component" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 620 - ref.json: "URN base URI with r-component" - "a non-string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/definitions/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/definitions/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 621 - ref.json: "URN base URI with q-component" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 622 - ref.json: "URN base URI with q-component" - "a non-string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/definitions/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/definitions/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 623 - ref.json: "URN base URI with URN and JSON pointer ref" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 624 - ref.json: "URN base URI with URN and JSON pointer ref" - "a non-string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/definitions/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/definitions/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 625 - ref.json: "URN base URI with URN and anchor ref" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 626 - ref.json: "URN base URI with URN and anchor ref" - "a non-string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/definitions/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/definitions/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 627 - ref.json: "ref with absolute-path-reference" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 628 - ref.json: "ref with absolute-path-reference" - "an integer is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/absref/foobar.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/ref/absref.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/absref/foobar.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/ref/absref.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 629 - ref.json: "$id with file URI still resolves pointers - *nix" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 630 - ref.json: "$id with file URI still resolves pointers - *nix" - "non-number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "file:///folder/file.json#/definitions/foo/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "file:///folder/file.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "file:///folder/file.json#/definitions/foo/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "file:///folder/file.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 631 - ref.json: "$id with file URI still resolves pointers - windows" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 632 - ref.json: "$id with file URI still resolves pointers - windows" - "non-number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "file:///c:/folder/file.json#/definitions/foo/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "file:///c:/folder/file.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "file:///c:/folder/file.json#/definitions/foo/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "file:///c:/folder/file.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 633 - ref.json: "empty tokens in $ref json-pointer" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 634 - ref.json: "empty tokens in $ref json-pointer" - "non-number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions//definitions//type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions//definitions//type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 635 - refRemote.json: "remote ref" - "remote ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 636 - refRemote.json: "remote ref" - "remote ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 637 - refRemote.json: "fragment within remote ref" - "remote fragment valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 638 - refRemote.json: "fragment within remote ref" - "remote fragment invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft6/subSchemas.json#/definitions/integer/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft6/subSchemas.json#/definitions/integer/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 639 - refRemote.json: "ref within remote ref" - "ref within ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 640 - refRemote.json: "ref within remote ref" - "ref within ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft6/subSchemas.json#/definitions/integer/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft6/subSchemas.json#/definitions/integer/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 641 - refRemote.json: "base URI change" - "base URI change ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 642 - refRemote.json: "base URI change" - "base URI change ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChange/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChange/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChange/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChange/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 643 - refRemote.json: "base URI change - change folder" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 644 - refRemote.json: "base URI change - change folder" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolder/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/properties/list/$ref/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolder/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/properties/list/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs1.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolder/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/properties/list/$ref/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolder/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/properties/list/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs1.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 645 - refRemote.json: "base URI change - change folder in subschema" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 646 - refRemote.json: "base URI change - change folder in subschema" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/properties/list/$ref/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/definitions/bar/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/properties/list/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs2.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/properties/list/$ref/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/definitions/bar/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/properties/list/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs2.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 647 - refRemote.json: "root ref in remote ref" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 648 - refRemote.json: "root ref in remote ref" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 649 - refRemote.json: "root ref in remote ref" - "object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft6/name.json#/definitions/orNull/anyOf/0/type",
    #       "error": "got object, not null",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft6/name.json#/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf/1/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft6/name.json#/definitions/orNull/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/object#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft6/name.json#/definitions/orNull/anyOf/0/type",
    #       "error": "got object, not null",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft6/name.json#/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf/1/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft6/name.json#/definitions/orNull/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/object#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 650 - refRemote.json: "remote ref with ref to definitions" - "invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft6/ref-and-definitions.json#/definitions/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft6/ref-and-definitions.json#/definitions/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft6/ref-and-definitions.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/schema-remote-ref-ref-defs1.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft6/ref-and-definitions.json#/definitions/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft6/ref-and-definitions.json#/definitions/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft6/ref-and-definitions.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/schema-remote-ref-ref-defs1.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 651 - refRemote.json: "remote ref with ref to definitions" - "valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 652 - refRemote.json: "Location-independent identifier in remote ref" - "integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 653 - refRemote.json: "Location-independent identifier in remote ref" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft6/locationIndependentIdentifier.json#/definitions/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft6/locationIndependentIdentifier.json#/definitions/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 654 - refRemote.json: "retrieved nested refs resolve relative to their URI not $id" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/name/foo",
    #       "keywordLocation": "/properties/name/$ref/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/nested/foo-ref-string.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/some-id#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/name/foo",
    #       "keywordLocation": "/properties/name/$ref/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/nested/foo-ref-string.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/some-id#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 655 - refRemote.json: "retrieved nested refs resolve relative to their URI not $id" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 656 - refRemote.json: "$ref to $ref finds location-independent $id" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 657 - refRemote.json: "$ref to $ref finds location-independent $id" - "non-number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft6/detached-ref.json#/definitions/detached/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft6/detached-ref.json#/definitions/detached/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 658 - required.json: "required validation" - "present required property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 659 - required.json: "required validation" - "non-present required property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 660 - required.json: "required validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 661 - required.json: "required validation" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 662 - required.json: "required validation" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 663 - required.json: "required default validation" - "not required by default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 664 - required.json: "required with empty array" - "property not required" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 665 - required.json: "required with escaped characters" - "object with all properties present is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 666 - required.json: "required with escaped characters" - "object with some properties missing is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: foo\\bar, foo\rbar, foo\tbar, foo\fbar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: foo\\bar, foo\rbar, foo\tbar, foo\fbar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 667 - required.json: "required properties whose names are Javascript object property names" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 668 - required.json: "required properties whose names are Javascript object property names" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 669 - required.json: "required properties whose names are Javascript object property names" - "none of the properties mentioned" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, toString, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, toString, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 670 - required.json: "required properties whose names are Javascript object property names" - "__proto__ present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: toString, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: toString, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 671 - required.json: "required properties whose names are Javascript object property names" - "toString present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 672 - required.json: "required properties whose names are Javascript object property names" - "constructor present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, toString",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, toString",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 673 - required.json: "required properties whose names are Javascript object property names" - "all present" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 674 - type.json: "integer type matches integers" - "an integer is an integer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 675 - type.json: "integer type matches integers" - "a float with zero fractional part is an integer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 676 - type.json: "integer type matches integers" - "a float is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 677 - type.json: "integer type matches integers" - "a string is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 678 - type.json: "integer type matches integers" - "a string is still not an integer, even if it looks like one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 679 - type.json: "integer type matches integers" - "an object is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 680 - type.json: "integer type matches integers" - "an array is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 681 - type.json: "integer type matches integers" - "a boolean is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 682 - type.json: "integer type matches integers" - "null is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 683 - type.json: "number type matches numbers" - "an integer is a number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 684 - type.json: "number type matches numbers" - "a float with zero fractional part is a number (and an integer)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 685 - type.json: "number type matches numbers" - "a float is a number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 686 - type.json: "number type matches numbers" - "a string is not a number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 687 - type.json: "number type matches numbers" - "a string is still not a number, even if it looks like one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 688 - type.json: "number type matches numbers" - "an object is not a number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 689 - type.json: "number type matches numbers" - "an array is not a number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 690 - type.json: "number type matches numbers" - "a boolean is not a number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 691 - type.json: "number type matches numbers" - "null is not a number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 692 - type.json: "string type matches strings" - "1 is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 693 - type.json: "string type matches strings" - "a float is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 694 - type.json: "string type matches strings" - "a string is a string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 695 - type.json: "string type matches strings" - "a string is still a string, even if it looks like a number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 696 - type.json: "string type matches strings" - "an empty string is still a string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 697 - type.json: "string type matches strings" - "an object is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 698 - type.json: "string type matches strings" - "an array is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 699 - type.json: "string type matches strings" - "a boolean is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 700 - type.json: "string type matches strings" - "null is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 701 - type.json: "object type matches objects" - "an integer is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 702 - type.json: "object type matches objects" - "a float is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 703 - type.json: "object type matches objects" - "a string is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 704 - type.json: "object type matches objects" - "an object is an object" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 705 - type.json: "object type matches objects" - "an array is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 706 - type.json: "object type matches objects" - "a boolean is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 707 - type.json: "object type matches objects" - "null is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 708 - type.json: "array type matches arrays" - "an integer is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 709 - type.json: "array type matches arrays" - "a float is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 710 - type.json: "array type matches arrays" - "a string is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 711 - type.json: "array type matches arrays" - "an object is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 712 - type.json: "array type matches arrays" - "an array is an array" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 713 - type.json: "array type matches arrays" - "a boolean is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 714 - type.json: "array type matches arrays" - "null is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 715 - type.json: "boolean type matches booleans" - "an integer is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 716 - type.json: "boolean type matches booleans" - "zero is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 717 - type.json: "boolean type matches booleans" - "a float is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 718 - type.json: "boolean type matches booleans" - "a string is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 719 - type.json: "boolean type matches booleans" - "an empty string is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 720 - type.json: "boolean type matches booleans" - "an object is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 721 - type.json: "boolean type matches booleans" - "an array is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 722 - type.json: "boolean type matches booleans" - "true is a boolean" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 723 - type.json: "boolean type matches booleans" - "false is a boolean" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 724 - type.json: "boolean type matches booleans" - "null is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 725 - type.json: "null type matches only the null object" - "an integer is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 726 - type.json: "null type matches only the null object" - "a float is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 727 - type.json: "null type matches only the null object" - "zero is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 728 - type.json: "null type matches only the null object" - "a string is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 729 - type.json: "null type matches only the null object" - "an empty string is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 730 - type.json: "null type matches only the null object" - "an object is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 731 - type.json: "null type matches only the null object" - "an array is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 732 - type.json: "null type matches only the null object" - "true is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 733 - type.json: "null type matches only the null object" - "false is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 734 - type.json: "null type matches only the null object" - "null is null" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 735 - type.json: "multiple types can be specified in an array" - "an integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 736 - type.json: "multiple types can be specified in an array" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 737 - type.json: "multiple types can be specified in an array" - "a float is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 738 - type.json: "multiple types can be specified in an array" - "an object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 739 - type.json: "multiple types can be specified in an array" - "an array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 740 - type.json: "multiple types can be specified in an array" - "a boolean is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 741 - type.json: "multiple types can be specified in an array" - "null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 742 - type.json: "type as array with one item" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 743 - type.json: "type as array with one item" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 744 - type.json: "type: array or object" - "array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 745 - type.json: "type: array or object" - "object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 746 - type.json: "type: array or object" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 747 - type.json: "type: array or object" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 748 - type.json: "type: array or object" - "null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 749 - type.json: "type: array, object or null" - "array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 750 - type.json: "type: array, object or null" - "object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 751 - type.json: "type: array, object or null" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 752 - type.json: "type: array, object or null" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of array, object, null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of array, object, null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 753 - type.json: "type: array, object or null" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not one of array, object, null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not one of array, object, null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 754 - uniqueItems.json: "uniqueItems validation" - "unique array of integers is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 755 - uniqueItems.json: "uniqueItems validation" - "non-unique array of integers is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 756 - uniqueItems.json: "uniqueItems validation" - "non-unique array of more than two integers is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 757 - uniqueItems.json: "uniqueItems validation" - "numbers are unique if mathematically unequal" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 758 - uniqueItems.json: "uniqueItems validation" - "false is not equal to zero" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 759 - uniqueItems.json: "uniqueItems validation" - "true is not equal to one" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 760 - uniqueItems.json: "uniqueItems validation" - "unique array of strings is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 761 - uniqueItems.json: "uniqueItems validation" - "non-unique array of strings is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 762 - uniqueItems.json: "uniqueItems validation" - "unique array of objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 763 - uniqueItems.json: "uniqueItems validation" - "non-unique array of objects is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 764 - uniqueItems.json: "uniqueItems validation" - "property order of array of objects is ignored" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 765 - uniqueItems.json: "uniqueItems validation" - "unique array of nested objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 766 - uniqueItems.json: "uniqueItems validation" - "non-unique array of nested objects is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 767 - uniqueItems.json: "uniqueItems validation" - "unique array of arrays is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 768 - uniqueItems.json: "uniqueItems validation" - "non-unique array of arrays is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 769 - uniqueItems.json: "uniqueItems validation" - "non-unique array of more than two arrays is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 770 - uniqueItems.json: "uniqueItems validation" - "1 and true are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 771 - uniqueItems.json: "uniqueItems validation" - "0 and false are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 772 - uniqueItems.json: "uniqueItems validation" - "[1] and [true] are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 773 - uniqueItems.json: "uniqueItems validation" - "[0] and [false] are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 774 - uniqueItems.json: "uniqueItems validation" - "nested [1] and [true] are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 775 - uniqueItems.json: "uniqueItems validation" - "nested [0] and [false] are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 776 - uniqueItems.json: "uniqueItems validation" - "unique heterogeneous types are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 777 - uniqueItems.json: "uniqueItems validation" - "non-unique heterogeneous types are invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 4 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 4 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 778 - uniqueItems.json: "uniqueItems validation" - "different objects are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 779 - uniqueItems.json: "uniqueItems validation" - "objects are non-unique despite key order" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 780 - uniqueItems.json: "uniqueItems validation" - "{"a": false} and {"a": 0} are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 781 - uniqueItems.json: "uniqueItems validation" - "{"a": true} and {"a": 1} are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 782 - uniqueItems.json: "uniqueItems with an array of items" - "[false, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 783 - uniqueItems.json: "uniqueItems with an array of items" - "[true, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 784 - uniqueItems.json: "uniqueItems with an array of items" - "[false, false] from items array is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 785 - uniqueItems.json: "uniqueItems with an array of items" - "[true, true] from items array is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 786 - uniqueItems.json: "uniqueItems with an array of items" - "unique array extended from [false, true] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 787 - uniqueItems.json: "uniqueItems with an array of items" - "unique array extended from [true, false] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 788 - uniqueItems.json: "uniqueItems with an array of items" - "non-unique array extended from [false, true] is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 2 and 3 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 2 and 3 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 789 - uniqueItems.json: "uniqueItems with an array of items" - "non-unique array extended from [true, false] is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 2 and 3 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 2 and 3 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 790 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[false, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 791 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[true, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 792 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[false, false] from items array is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 793 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[true, true] from items array is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 794 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "extra items are invalid even if unique" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 795 - uniqueItems.json: "uniqueItems=false validation" - "unique array of integers is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 796 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of integers is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 797 - uniqueItems.json: "uniqueItems=false validation" - "numbers are unique if mathematically unequal" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 798 - uniqueItems.json: "uniqueItems=false validation" - "false is not equal to zero" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 799 - uniqueItems.json: "uniqueItems=false validation" - "true is not equal to one" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 800 - uniqueItems.json: "uniqueItems=false validation" - "unique array of objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 801 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 802 - uniqueItems.json: "uniqueItems=false validation" - "unique array of nested objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 803 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of nested objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 804 - uniqueItems.json: "uniqueItems=false validation" - "unique array of arrays is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 805 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of arrays is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 806 - uniqueItems.json: "uniqueItems=false validation" - "1 and true are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 807 - uniqueItems.json: "uniqueItems=false validation" - "0 and false are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 808 - uniqueItems.json: "uniqueItems=false validation" - "unique heterogeneous types are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 809 - uniqueItems.json: "uniqueItems=false validation" - "non-unique heterogeneous types are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 810 - uniqueItems.json: "uniqueItems=false with an array of items" - "[false, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 811 - uniqueItems.json: "uniqueItems=false with an array of items" - "[true, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 812 - uniqueItems.json: "uniqueItems=false with an array of items" - "[false, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 813 - uniqueItems.json: "uniqueItems=false with an array of items" - "[true, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 814 - uniqueItems.json: "uniqueItems=false with an array of items" - "unique array extended from [false, true] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 815 - uniqueItems.json: "uniqueItems=false with an array of items" - "unique array extended from [true, false] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 816 - uniqueItems.json: "uniqueItems=false with an array of items" - "non-unique array extended from [false, true] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 817 - uniqueItems.json: "uniqueItems=false with an array of items" - "non-unique array extended from [true, false] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 818 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[false, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 819 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[true, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 820 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[false, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 821 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[true, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 822 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "extra items are invalid even if unique" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 823 - optional/bignum.json: "integer" - "a bignum is an integer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 824 - optional/bignum.json: "integer" - "a negative bignum is an integer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 825 - optional/bignum.json: "number" - "a bignum is a number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 826 - optional/bignum.json: "number" - "a negative bignum is a number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 827 - optional/bignum.json: "string" - "a bignum is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 828 - optional/bignum.json: "maximum integer comparison" - "comparison works for high numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 829 - optional/bignum.json: "float comparison with high precision" - "comparison works for high numbers" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 972783798187987123879878123.18878137",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 972783798187987123879878123.18878137",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 830 - optional/bignum.json: "minimum integer comparison" - "comparison works for very negative numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 831 - optional/bignum.json: "float comparison with high precision on negative numbers" - "comparison works for very negative numbers" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to -972783798187987123879878123.18878137",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to -972783798187987123879878123.18878137",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 832 - optional/ecmascript-regex.json: "ECMA 262 regex $ does not match trailing newline" - "matches in Python, but not in ECMA 262" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 833 - optional/ecmascript-regex.json: "ECMA 262 regex $ does not match trailing newline" - "matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 834 - optional/ecmascript-regex.json: "ECMA 262 regex converts \t to horizontal tab" - "does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 835 - optional/ecmascript-regex.json: "ECMA 262 regex converts \t to horizontal tab" - "matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 836 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and upper letter" - "does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 837 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and upper letter" - "matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 838 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and lower letter" - "does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 839 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and lower letter" - "matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 840 - optional/ecmascript-regex.json: "ECMA 262 \d matches ascii digits only" - "ASCII zero matches" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 841 - optional/ecmascript-regex.json: "ECMA 262 \d matches ascii digits only" - "NKO DIGIT ZERO does not match (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft6.t line 49.
    # expected false; got true
    # schema: {
    #   "pattern": "^\\d$",
    #   "type": "string"
    # }
    # data: "߀"
    # result: 1
    1..1
}
ok 842 - optional/ecmascript-regex.json: "ECMA 262 \d matches ascii digits only" - "NKO DIGIT ZERO (as \u escape) does not match" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft6.t line 49.
    # expected false; got true
    # schema: {
    #   "pattern": "^\\d$",
    #   "type": "string"
    # }
    # data: "߀"
    # result: 1
    1..1
}
ok 843 - optional/ecmascript-regex.json: "ECMA 262 \D matches everything but ascii digits" - "ASCII zero does not match" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 844 - optional/ecmascript-regex.json: "ECMA 262 \D matches everything but ascii digits" - "NKO DIGIT ZERO matches (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft6.t line 49.
    # expected true; got false
    # schema: {
    #   "pattern": "^\\D$",
    #   "type": "string"
    # }
    # data: "߀"
    # result: 0
    1..1
}
ok 845 - optional/ecmascript-regex.json: "ECMA 262 \D matches everything but ascii digits" - "NKO DIGIT ZERO (as \u escape) matches" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft6.t line 49.
    # expected true; got false
    # schema: {
    #   "pattern": "^\\D$",
    #   "type": "string"
    # }
    # data: "߀"
    # result: 0
    1..1
}
ok 846 - optional/ecmascript-regex.json: "ECMA 262 \w matches ascii letters only" - "ASCII 'a' matches" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 847 - optional/ecmascript-regex.json: "ECMA 262 \w matches ascii letters only" - "latin-1 e-acute does not match (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft6.t line 49.
    # expected false; got true
    # schema: {
    #   "pattern": "^\\w$",
    #   "type": "string"
    # }
    # data: "é"
    # result: 1
    1..1
}
ok 848 - optional/ecmascript-regex.json: "ECMA 262 \W matches everything but ascii letters" - "ASCII 'a' does not match" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 849 - optional/ecmascript-regex.json: "ECMA 262 \W matches everything but ascii letters" - "latin-1 e-acute matches (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft6.t line 49.
    # expected true; got false
    # schema: {
    #   "pattern": "^\\W$",
    #   "type": "string"
    # }
    # data: "é"
    # result: 0
    1..1
}
ok 850 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "ASCII space matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 851 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Character tabulation matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 852 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Line tabulation matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 853 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Form feed matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 854 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "latin-1 non-breaking-space matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 855 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "zero-width whitespace matches" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft6.t line 49.
    # expected true; got false
    # schema: {
    #   "pattern": "^\\s$",
    #   "type": "string"
    # }
    # data: ""
    # result: 0
    1..1
}
ok 856 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "line feed matches (line terminator)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 857 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "paragraph separator matches (line terminator)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 858 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "EM SPACE matches (Space_Separator)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 859 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Non-whitespace control does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 860 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Non-whitespace does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 861 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "ASCII space does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 862 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Character tabulation does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 863 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Line tabulation does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 864 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Form feed does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 865 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "latin-1 non-breaking-space does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 866 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "zero-width whitespace does not match" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft6.t line 49.
    # expected false; got true
    # schema: {
    #   "pattern": "^\\S$",
    #   "type": "string"
    # }
    # data: ""
    # result: 1
    1..1
}
ok 867 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "line feed does not match (line terminator)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 868 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "paragraph separator does not match (line terminator)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 869 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "EM SPACE does not match (Space_Separator)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 870 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Non-whitespace control matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 871 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Non-whitespace matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 872 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "ascii character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 873 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "literal unicode character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 874 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "unicode character in hex format in string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 875 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "unicode matching is case-sensitive" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 876 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "ascii character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 877 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "literal unicode character in json string" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft6.t line 49.
    # expected false; got true
    # schema: {
    #   "pattern": "\\wcole"
    # }
    # data: "Les hivers de mon enfance étaient des saisons longues, longues. Nous vivions en trois lieux: l'école, l'église et la patinoire; mais la vraie vie était sur la patinoire."
    # result: 1
    1..1
}
ok 878 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "unicode character in hex format in string" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft6.t line 49.
    # expected false; got true
    # schema: {
    #   "pattern": "\\wcole"
    # }
    # data: "Les hivers de mon enfance étaient des saisons longues, longues. Nous vivions en trois lieux: l'école, l'église et la patinoire; mais la vraie vie était sur la patinoire."
    # result: 1
    1..1
}
ok 879 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "unicode matching is case-sensitive" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 880 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "literal unicode character in json string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 881 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "unicode character in hex format in string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 882 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "ascii characters match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 883 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "ascii digits" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 884 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "ascii non-digits" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 885 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft6.t line 49.
    # expected false; got true
    # schema: {
    #   "pattern": "^\\d+$"
    # }
    # data: "৪২"
    # result: 1
    1..1
}
ok 886 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "ascii digits" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 887 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "ascii non-digits" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 888 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 889 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "ascii character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 890 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "literal unicode character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 891 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "unicode character in hex format in string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 892 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "unicode matching is case-sensitive" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/L'ÉCOLE",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/L'ÉCOLE",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 893 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "ascii character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 894 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "literal unicode character in json string" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft6.t line 49.
    # expected false; got true
    # schema: {
    #   "additionalProperties": false,
    #   "patternProperties": {
    #     "\\wcole": true
    #   },
    #   "type": "object"
    # }
    # data: {
    #   "l'école": "pas de vraie vie"
    # }
    # result: 1
    1..1
}
ok 895 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "unicode character in hex format in string" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft6.t line 49.
    # expected false; got true
    # schema: {
    #   "additionalProperties": false,
    #   "patternProperties": {
    #     "\\wcole": true
    #   },
    #   "type": "object"
    # }
    # data: {
    #   "l'école": "pas de vraie vie"
    # }
    # result: 1
    1..1
}
ok 896 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "unicode matching is case-sensitive" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/L'ÉCOLE",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/L'ÉCOLE",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 897 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "literal unicode character in json string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/l'école",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/l'école",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 898 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "unicode character in hex format in string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/l'école",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/l'école",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 899 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "ascii characters match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 900 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "ascii digits" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 901 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "ascii non-digits" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/-%#",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/-%#",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 902 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft6.t line 49.
    # expected false; got true
    # schema: {
    #   "additionalProperties": false,
    #   "patternProperties": {
    #     "^\\d+$": true
    #   },
    #   "type": "object"
    # }
    # data: {
    #   "৪২": "khajit has wares if you have coin"
    # }
    # result: 1
    1..1
}
ok 903 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "ascii digits" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 904 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "ascii non-digits" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/-%#",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/-%#",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 905 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 906 - optional/float-overflow.json: "all integers are multiples of 0.5, if overflow is handled" - "valid if optional overflow handling is implemented" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 907 - optional/id.json: "id inside an enum is not a real identifier" - "exact match to enum, and type matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 908 - optional/id.json: "id inside an enum is not a real identifier" - "match $ref to id" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 909 - optional/id.json: "id inside an enum is not a real identifier" - "no match on enum or $ref to id" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/id_in_enum/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/id/my_identifier.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/id_in_enum/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/id/my_identifier.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 910 - optional/id.json: "non-schema object containing a plain-name $id property" - "skip traversing definition for a valid result" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 911 - optional/id.json: "non-schema object containing a plain-name $id property" - "const at const_not_anchor does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/const"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/definitions/const_not_anchor/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/allOf/1/$ref/const"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/allOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/const"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/definitions/const_not_anchor/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/allOf/1/$ref/const"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/allOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 912 - optional/id.json: "non-schema object containing an $id property" - "skip traversing definition for a valid result" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 913 - optional/id.json: "non-schema object containing an $id property" - "const at const_not_id does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/const"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/definitions/const_not_id/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/allOf/1/$ref/const"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/allOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/const"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/definitions/const_not_id/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/allOf/1/$ref/const"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/allOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 914 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches empty" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 915 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches single" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 916 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches two" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 917 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 918 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match two" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 919 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match one ASCII" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 920 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match two ASCII" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 921 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches empty" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 922 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches single" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 923 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches two" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 924 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "doesn't match one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/🐲",
    #       "keywordLocation": "/patternProperties/^🐲*$/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/🐲",
    #       "keywordLocation": "/patternProperties/^🐲*$/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 925 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "doesn't match two" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/🐲🐲",
    #       "keywordLocation": "/patternProperties/^🐲*$/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/🐲🐲",
    #       "keywordLocation": "/patternProperties/^🐲*$/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 926 - optional/unknownKeyword.json: "$id inside an unknown keyword is not a real identifier" - "type matches second anyOf, which has a real schema in it" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 927 - optional/unknownKeyword.json: "$id inside an unknown keyword is not a real identifier" - "type matches non-schema in first anyOf" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/id_in_unknown0/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/definitions/id_in_unknown1/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/unknownKeyword/my_identifier.json#/type",
    #       "error": "got null, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/2/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/id_in_unknown0/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/definitions/id_in_unknown1/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/unknownKeyword/my_identifier.json#/type",
    #       "error": "got null, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/2/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 928 - optional/unknownKeyword.json: "$id inside an unknown keyword is not a real identifier" - "type matches non-schema in third anyOf" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/id_in_unknown0/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/definitions/id_in_unknown1/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/unknownKeyword/my_identifier.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/2/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/id_in_unknown0/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/definitions/id_in_unknown1/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/unknownKeyword/my_identifier.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/2/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 929 - no leaks in the main evaluator object
ok 930 - no leaks in the short-circuiting evaluator object
1..930
ok
# AUTHOR_TESTING: <undef>
# AUTOMATED_TESTING: 1
# EXTENDED_TESTING: <undef>
# NO_TODO: <undef>
# TEST_DIR: <undef>
# NO_SHORT_CIRCUIT: <undef>
# 
# 
# generated with:              Test::JSON::Schema::Acceptance 1.027
# with commit:                 e524505b8ac4a61c5dc162b51d68c2385a134706 (Test-JSON-Schema-Acceptance-1.026-16-ge524505)
# from repository:             git://github.com/json-schema-org/JSON-Schema-Test-Suite.git
# specification version:       draft7
# using custom test directory: <base test directory>/optional/format
# optional tests included:     yes
# 
# filename                                  pass  todo-fail  fail
# ---------------------------------------------------------------
# date-time.json                              25          0     0
# date.json                                   47          0     0
# email.json                                  15          0     0
# hostname.json                               20          4     0
# idn-email.json                              10          0     0
# idn-hostname.json                           37         20     0
# ipv4.json                                   16          0     0
# ipv6.json                                   40          0     0
# iri-reference.json                          11          2     0
# iri.json                                    14          1     0
# json-pointer.json                           38          0     0
# regex.json                                   8          0     0
# relative-json-pointer.json                  18          0     0
# time.json                                   45          0     0
# unknown.json                                 7          0     0
# uri-reference.json                          13          0     0
# uri-template.json                            9          1     0
# uri.json                                    25          1     0
# ---------------------------------------------------------------
# TOTAL                                      398         29     0
# 
# Congratulations, all non-optional tests are passing!
# 
t/zzz-acceptance-draft7-format.t ........ 
# running tests in /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/tests/draft7/optional/format against draft7...
# 
ok 1 - date-time.json: "validation of date-time strings" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 2 - date-time.json: "validation of date-time strings" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 3 - date-time.json: "validation of date-time strings" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 4 - date-time.json: "validation of date-time strings" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 5 - date-time.json: "validation of date-time strings" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 6 - date-time.json: "validation of date-time strings" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 7 - date-time.json: "validation of date-time strings" - "a valid date-time string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 8 - date-time.json: "validation of date-time strings" - "a valid date-time string without second fraction" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 9 - date-time.json: "validation of date-time strings" - "a valid date-time string with plus offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 10 - date-time.json: "validation of date-time strings" - "a valid date-time string with minus offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 11 - date-time.json: "validation of date-time strings" - "a valid date-time with a leap second, UTC" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 12 - date-time.json: "validation of date-time strings" - "a valid date-time with a leap second, with minus offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 13 - date-time.json: "validation of date-time strings" - "an invalid date-time past leap second, UTC" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 14 - date-time.json: "validation of date-time strings" - "an invalid date-time with leap second on a wrong minute, UTC" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 15 - date-time.json: "validation of date-time strings" - "an invalid date-time with leap second on a wrong hour, UTC" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 16 - date-time.json: "validation of date-time strings" - "an invalid day in date-time string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 17 - date-time.json: "validation of date-time strings" - "an invalid offset in date-time string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 18 - date-time.json: "validation of date-time strings" - "an invalid closing Z after time-zone offset" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 19 - date-time.json: "validation of date-time strings" - "an invalid date-time string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 20 - date-time.json: "validation of date-time strings" - "case-insensitive T and Z" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 21 - date-time.json: "validation of date-time strings" - "only RFC3339 not all of ISO 8601 are valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 22 - date-time.json: "validation of date-time strings" - "invalid non-padded month dates" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 23 - date-time.json: "validation of date-time strings" - "invalid non-padded day dates" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 24 - date-time.json: "validation of date-time strings" - "invalid non-ASCII '৪' (a Bengali 4) in date portion" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 25 - date-time.json: "validation of date-time strings" - "invalid non-ASCII '৪' (a Bengali 4) in time portion" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date-time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 26 - date.json: "validation of date strings" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 27 - date.json: "validation of date strings" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 28 - date.json: "validation of date strings" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 29 - date.json: "validation of date strings" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 30 - date.json: "validation of date strings" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 31 - date.json: "validation of date strings" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 32 - date.json: "validation of date strings" - "a valid date string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 33 - date.json: "validation of date strings" - "a valid date string with 31 days in January" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 34 - date.json: "validation of date strings" - "a invalid date string with 32 days in January" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 35 - date.json: "validation of date strings" - "a valid date string with 28 days in February (normal)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 36 - date.json: "validation of date strings" - "a invalid date string with 29 days in February (normal)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 37 - date.json: "validation of date strings" - "a valid date string with 29 days in February (leap)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 38 - date.json: "validation of date strings" - "a invalid date string with 30 days in February (leap)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 39 - date.json: "validation of date strings" - "a valid date string with 31 days in March" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 40 - date.json: "validation of date strings" - "a invalid date string with 32 days in March" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 41 - date.json: "validation of date strings" - "a valid date string with 30 days in April" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 42 - date.json: "validation of date strings" - "a invalid date string with 31 days in April" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 43 - date.json: "validation of date strings" - "a valid date string with 31 days in May" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 44 - date.json: "validation of date strings" - "a invalid date string with 32 days in May" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 45 - date.json: "validation of date strings" - "a valid date string with 30 days in June" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 46 - date.json: "validation of date strings" - "a invalid date string with 31 days in June" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 47 - date.json: "validation of date strings" - "a valid date string with 31 days in July" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 48 - date.json: "validation of date strings" - "a invalid date string with 32 days in July" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 49 - date.json: "validation of date strings" - "a valid date string with 31 days in August" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 50 - date.json: "validation of date strings" - "a invalid date string with 32 days in August" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 51 - date.json: "validation of date strings" - "a valid date string with 30 days in September" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 52 - date.json: "validation of date strings" - "a invalid date string with 31 days in September" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 53 - date.json: "validation of date strings" - "a valid date string with 31 days in October" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 54 - date.json: "validation of date strings" - "a invalid date string with 32 days in October" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 55 - date.json: "validation of date strings" - "a valid date string with 30 days in November" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 56 - date.json: "validation of date strings" - "a invalid date string with 31 days in November" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 57 - date.json: "validation of date strings" - "a valid date string with 31 days in December" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 58 - date.json: "validation of date strings" - "a invalid date string with 32 days in December" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 59 - date.json: "validation of date strings" - "a invalid date string with invalid month" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 60 - date.json: "validation of date strings" - "an invalid date string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 61 - date.json: "validation of date strings" - "only RFC3339 not all of ISO 8601 are valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 62 - date.json: "validation of date strings" - "non-padded month dates are not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 63 - date.json: "validation of date strings" - "non-padded day dates are not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 64 - date.json: "validation of date strings" - "invalid month" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 65 - date.json: "validation of date strings" - "invalid month-day combination" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 66 - date.json: "validation of date strings" - "2021 is not a leap year" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 67 - date.json: "validation of date strings" - "2020 is a leap year" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 68 - date.json: "validation of date strings" - "invalid non-ASCII '৪' (a Bengali 4)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 69 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: YYYYMMDD without dashes (2023-03-28)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 70 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: week number implicit day of week (2023-01-02)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 71 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: week number with day of week (2023-03-28)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 72 - date.json: "validation of date strings" - "ISO8601 / non-RFC3339: week number rollover to next year (2023-01-01)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid date",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 73 - email.json: "validation of e-mail addresses" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 74 - email.json: "validation of e-mail addresses" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 75 - email.json: "validation of e-mail addresses" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 76 - email.json: "validation of e-mail addresses" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 77 - email.json: "validation of e-mail addresses" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 78 - email.json: "validation of e-mail addresses" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 79 - email.json: "validation of e-mail addresses" - "a valid e-mail address" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 80 - email.json: "validation of e-mail addresses" - "an invalid e-mail address" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 81 - email.json: "validation of e-mail addresses" - "tilde in local part is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 82 - email.json: "validation of e-mail addresses" - "tilde before local part is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 83 - email.json: "validation of e-mail addresses" - "tilde after local part is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 84 - email.json: "validation of e-mail addresses" - "dot before local part is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 85 - email.json: "validation of e-mail addresses" - "dot after local part is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 86 - email.json: "validation of e-mail addresses" - "two separated dots inside local part are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 87 - email.json: "validation of e-mail addresses" - "two subsequent dots inside local part are not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 88 - hostname.json: "validation of host names" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 89 - hostname.json: "validation of host names" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 90 - hostname.json: "validation of host names" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 91 - hostname.json: "validation of host names" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 92 - hostname.json: "validation of host names" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 93 - hostname.json: "validation of host names" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 94 - hostname.json: "validation of host names" - "a valid host name" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 95 - hostname.json: "validation of host names" - "a valid punycoded IDN hostname" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 96 - hostname.json: "validation of host names" - "a host name starting with an illegal character" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 97 - hostname.json: "validation of host names" - "a host name containing illegal characters" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 98 - hostname.json: "validation of host names" - "a host name with a component too long" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 99 - hostname.json: "validation of host names" - "starts with hyphen" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 100 - hostname.json: "validation of host names" - "ends with hyphen" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 101 - hostname.json: "validation of host names" - "starts with underscore" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 102 - hostname.json: "validation of host names" - "ends with underscore" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 103 - hostname.json: "validation of host names" - "contains underscore" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 104 - hostname.json: "validation of host names" - "maximum label length" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 105 - hostname.json: "validation of host names" - "exceeds maximum label length" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 106 - hostname.json: "validation of host names" - "single label" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected true; got false
    # schema: {
    #   "format": "hostname"
    # }
    # data: "hostname"
    # result: 0
    1..1
}
ok 107 - hostname.json: "validation of host names" - "single label with hyphen" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected true; got false
    # schema: {
    #   "format": "hostname"
    # }
    # data: "host-name"
    # result: 0
    1..1
}
ok 108 - hostname.json: "validation of host names" - "single label with digits" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected true; got false
    # schema: {
    #   "format": "hostname"
    # }
    # data: "h0stn4me"
    # result: 0
    1..1
}
ok 109 - hostname.json: "validation of host names" - "single label ending with digit" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected true; got false
    # schema: {
    #   "format": "hostname"
    # }
    # data: "hostnam3"
    # result: 0
    1..1
}
ok 110 - hostname.json: "validation of host names" - "empty string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 111 - hostname.json: "validation of host names" - "single dot" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 112 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 113 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 114 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 115 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 116 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 117 - idn-email.json: "validation of an internationalized e-mail addresses" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 118 - idn-email.json: "validation of an internationalized e-mail addresses" - "a valid idn e-mail (example@example.test in Hangul)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 119 - idn-email.json: "validation of an internationalized e-mail addresses" - "an invalid idn e-mail address" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 120 - idn-email.json: "validation of an internationalized e-mail addresses" - "a valid e-mail address" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 121 - idn-email.json: "validation of an internationalized e-mail addresses" - "an invalid e-mail address" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-email",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 122 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 123 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 124 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 125 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 126 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 127 - idn-hostname.json: "validation of internationalized host names" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 128 - idn-hostname.json: "validation of internationalized host names" - "a valid host name (example.test in Hangul)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 129 - idn-hostname.json: "validation of internationalized host names" - "illegal first char U+302E Hangul single dot tone mark" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 130 - idn-hostname.json: "validation of internationalized host names" - "contains illegal char U+302E Hangul single dot tone mark" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected false; got true
    # schema: {
    #   "format": "idn-hostname"
    # }
    # data: "실〮례.테스트"
    # result: 1
    1..1
}
ok 131 - idn-hostname.json: "validation of internationalized host names" - "a host name with a component too long" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 132 - idn-hostname.json: "validation of internationalized host names" - "invalid label, correct Punycode" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 133 - idn-hostname.json: "validation of internationalized host names" - "valid Chinese Punycode" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected true; got false
    # schema: {
    #   "format": "idn-hostname"
    # }
    # data: "xn--ihqwcrb4cv8a8dqg056pqjye"
    # result: 0
    1..1
}
ok 134 - idn-hostname.json: "validation of internationalized host names" - "invalid Punycode" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 135 - idn-hostname.json: "validation of internationalized host names" - "U-label contains "--" in the 3rd and 4th position" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 136 - idn-hostname.json: "validation of internationalized host names" - "U-label starts with a dash" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 137 - idn-hostname.json: "validation of internationalized host names" - "U-label ends with a dash" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 138 - idn-hostname.json: "validation of internationalized host names" - "U-label starts and ends with a dash" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 139 - idn-hostname.json: "validation of internationalized host names" - "Begins with a Spacing Combining Mark" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 140 - idn-hostname.json: "validation of internationalized host names" - "Begins with a Nonspacing Mark" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 141 - idn-hostname.json: "validation of internationalized host names" - "Begins with an Enclosing Mark" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 142 - idn-hostname.json: "validation of internationalized host names" - "Exceptions that are PVALID, left-to-right chars" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected true; got false
    # schema: {
    #   "format": "idn-hostname"
    # }
    # data: "ßς་〇"
    # result: 0
    1..1
}
ok 143 - idn-hostname.json: "validation of internationalized host names" - "Exceptions that are PVALID, right-to-left chars" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected true; got false
    # schema: {
    #   "format": "idn-hostname"
    # }
    # data: "۽۾"
    # result: 0
    1..1
}
ok 144 - idn-hostname.json: "validation of internationalized host names" - "Exceptions that are DISALLOWED, right-to-left chars" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 145 - idn-hostname.json: "validation of internationalized host names" - "Exceptions that are DISALLOWED, left-to-right chars" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 146 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with no preceding 'l'" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 147 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with nothing preceding" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 148 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with no following 'l'" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 149 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with nothing following" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 150 - idn-hostname.json: "validation of internationalized host names" - "MIDDLE DOT with surrounding 'l's" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected true; got false
    # schema: {
    #   "format": "idn-hostname"
    # }
    # data: "l·l"
    # result: 0
    1..1
}
ok 151 - idn-hostname.json: "validation of internationalized host names" - "Greek KERAIA not followed by Greek" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 152 - idn-hostname.json: "validation of internationalized host names" - "Greek KERAIA not followed by anything" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 153 - idn-hostname.json: "validation of internationalized host names" - "Greek KERAIA followed by Greek" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected true; got false
    # schema: {
    #   "format": "idn-hostname"
    # }
    # data: "α͵β"
    # result: 0
    1..1
}
ok 154 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERESH not preceded by Hebrew" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 155 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERESH not preceded by anything" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 156 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERESH preceded by Hebrew" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected true; got false
    # schema: {
    #   "format": "idn-hostname"
    # }
    # data: "א׳ב"
    # result: 0
    1..1
}
ok 157 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERSHAYIM not preceded by Hebrew" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 158 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERSHAYIM not preceded by anything" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 159 - idn-hostname.json: "validation of internationalized host names" - "Hebrew GERSHAYIM preceded by Hebrew" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected true; got false
    # schema: {
    #   "format": "idn-hostname"
    # }
    # data: "א״ב"
    # result: 0
    1..1
}
ok 160 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with no Hiragana, Katakana, or Han" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 161 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with no other characters" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 162 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with Hiragana" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected true; got false
    # schema: {
    #   "format": "idn-hostname"
    # }
    # data: "・ぁ"
    # result: 0
    1..1
}
ok 163 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with Katakana" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected true; got false
    # schema: {
    #   "format": "idn-hostname"
    # }
    # data: "・ァ"
    # result: 0
    1..1
}
ok 164 - idn-hostname.json: "validation of internationalized host names" - "KATAKANA MIDDLE DOT with Han" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected true; got false
    # schema: {
    #   "format": "idn-hostname"
    # }
    # data: "・丈"
    # result: 0
    1..1
}
ok 165 - idn-hostname.json: "validation of internationalized host names" - "Arabic-Indic digits mixed with Extended Arabic-Indic digits" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 166 - idn-hostname.json: "validation of internationalized host names" - "Arabic-Indic digits not mixed with Extended Arabic-Indic digits" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected true; got false
    # schema: {
    #   "format": "idn-hostname"
    # }
    # data: "ب٠ب"
    # result: 0
    1..1
}
ok 167 - idn-hostname.json: "validation of internationalized host names" - "Extended Arabic-Indic digits not mixed with Arabic-Indic digits" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected true; got false
    # schema: {
    #   "format": "idn-hostname"
    # }
    # data: "۰0"
    # result: 0
    1..1
}
ok 168 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH JOINER not preceded by Virama" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 169 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH JOINER not preceded by anything" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 170 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH JOINER preceded by Virama" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected true; got false
    # schema: {
    #   "format": "idn-hostname"
    # }
    # data: "क्‍ष"
    # result: 0
    1..1
}
ok 171 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH NON-JOINER preceded by Virama" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected true; got false
    # schema: {
    #   "format": "idn-hostname"
    # }
    # data: "क्‌ष"
    # result: 0
    1..1
}
ok 172 - idn-hostname.json: "validation of internationalized host names" - "ZERO WIDTH NON-JOINER not preceded by Virama but matches regexp" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected true; got false
    # schema: {
    #   "format": "idn-hostname"
    # }
    # data: "بي‌بي"
    # result: 0
    1..1
}
ok 173 - idn-hostname.json: "validation of internationalized host names" - "single label" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected true; got false
    # schema: {
    #   "format": "idn-hostname"
    # }
    # data: "hostname"
    # result: 0
    1..1
}
ok 174 - idn-hostname.json: "validation of internationalized host names" - "single label with hyphen" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected true; got false
    # schema: {
    #   "format": "idn-hostname"
    # }
    # data: "host-name"
    # result: 0
    1..1
}
ok 175 - idn-hostname.json: "validation of internationalized host names" - "single label with digits" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected true; got false
    # schema: {
    #   "format": "idn-hostname"
    # }
    # data: "h0stn4me"
    # result: 0
    1..1
}
ok 176 - idn-hostname.json: "validation of internationalized host names" - "single label ending with digit" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected true; got false
    # schema: {
    #   "format": "idn-hostname"
    # }
    # data: "hostnam3"
    # result: 0
    1..1
}
ok 177 - idn-hostname.json: "validation of internationalized host names" - "empty string" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 178 - idn-hostname.json: "validation of internationalized host names" - "single dot" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid idn-hostname",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
# 
ok 179 - ipv4.json: "validation of IP addresses" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 180 - ipv4.json: "validation of IP addresses" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 181 - ipv4.json: "validation of IP addresses" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 182 - ipv4.json: "validation of IP addresses" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 183 - ipv4.json: "validation of IP addresses" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 184 - ipv4.json: "validation of IP addresses" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 185 - ipv4.json: "validation of IP addresses" - "a valid IP address" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 186 - ipv4.json: "validation of IP addresses" - "an IP address with too many components" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 187 - ipv4.json: "validation of IP addresses" - "an IP address with out-of-range values" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 188 - ipv4.json: "validation of IP addresses" - "an IP address without 4 components" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 189 - ipv4.json: "validation of IP addresses" - "an IP address as an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 190 - ipv4.json: "validation of IP addresses" - "an IP address as an integer (decimal)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 191 - ipv4.json: "validation of IP addresses" - "invalid leading zeroes, as they are treated as octals" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 192 - ipv4.json: "validation of IP addresses" - "value without leading zero is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 193 - ipv4.json: "validation of IP addresses" - "invalid non-ASCII '২' (a Bengali 2)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 194 - ipv4.json: "validation of IP addresses" - "netmask is not a part of ipv4 address" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 195 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 196 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 197 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 198 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 199 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 200 - ipv6.json: "validation of IPv6 addresses" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 201 - ipv6.json: "validation of IPv6 addresses" - "a valid IPv6 address" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 202 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address with out-of-range values" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 203 - ipv6.json: "validation of IPv6 addresses" - "trailing 4 hex symbols is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 204 - ipv6.json: "validation of IPv6 addresses" - "trailing 5 hex symbols is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 205 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address with too many components" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 206 - ipv6.json: "validation of IPv6 addresses" - "an IPv6 address containing illegal characters" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 207 - ipv6.json: "validation of IPv6 addresses" - "no digits is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 208 - ipv6.json: "validation of IPv6 addresses" - "leading colons is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 209 - ipv6.json: "validation of IPv6 addresses" - "trailing colons is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 210 - ipv6.json: "validation of IPv6 addresses" - "missing leading octet is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 211 - ipv6.json: "validation of IPv6 addresses" - "missing trailing octet is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 212 - ipv6.json: "validation of IPv6 addresses" - "missing leading octet with omitted octets later" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 213 - ipv6.json: "validation of IPv6 addresses" - "single set of double colons in the middle is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 214 - ipv6.json: "validation of IPv6 addresses" - "two sets of double colons is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 215 - ipv6.json: "validation of IPv6 addresses" - "mixed format with the ipv4 section as decimal octets" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 216 - ipv6.json: "validation of IPv6 addresses" - "mixed format with double colons between the sections" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 217 - ipv6.json: "validation of IPv6 addresses" - "mixed format with ipv4 section with octet out of range" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 218 - ipv6.json: "validation of IPv6 addresses" - "mixed format with ipv4 section with a hex octet" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 219 - ipv6.json: "validation of IPv6 addresses" - "mixed format with leading double colons (ipv4-mapped ipv6 address)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 220 - ipv6.json: "validation of IPv6 addresses" - "triple colons is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 221 - ipv6.json: "validation of IPv6 addresses" - "8 octets" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 222 - ipv6.json: "validation of IPv6 addresses" - "insufficient octets without double colons" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 223 - ipv6.json: "validation of IPv6 addresses" - "no colons is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 224 - ipv6.json: "validation of IPv6 addresses" - "ipv4 is not ipv6" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 225 - ipv6.json: "validation of IPv6 addresses" - "ipv4 segment must have 4 octets" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 226 - ipv6.json: "validation of IPv6 addresses" - "leading whitespace is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 227 - ipv6.json: "validation of IPv6 addresses" - "trailing whitespace is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 228 - ipv6.json: "validation of IPv6 addresses" - "netmask is not a part of ipv6 address" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 229 - ipv6.json: "validation of IPv6 addresses" - "zone id is not a part of ipv6 address" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 230 - ipv6.json: "validation of IPv6 addresses" - "a long valid ipv6" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 231 - ipv6.json: "validation of IPv6 addresses" - "a long invalid ipv6, below length limit, first" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 232 - ipv6.json: "validation of IPv6 addresses" - "a long invalid ipv6, below length limit, second" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 233 - ipv6.json: "validation of IPv6 addresses" - "invalid non-ASCII '৪' (a Bengali 4)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 234 - ipv6.json: "validation of IPv6 addresses" - "invalid non-ASCII '৪' (a Bengali 4) in the IPv4 portion" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid ipv6",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 235 - iri-reference.json: "validation of IRI References" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 236 - iri-reference.json: "validation of IRI References" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 237 - iri-reference.json: "validation of IRI References" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 238 - iri-reference.json: "validation of IRI References" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 239 - iri-reference.json: "validation of IRI References" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 240 - iri-reference.json: "validation of IRI References" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 241 - iri-reference.json: "validation of IRI References" - "a valid IRI" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 242 - iri-reference.json: "validation of IRI References" - "a valid protocol-relative IRI Reference" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 243 - iri-reference.json: "validation of IRI References" - "a valid relative IRI Reference" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 244 - iri-reference.json: "validation of IRI References" - "an invalid IRI Reference" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected false; got true
    # schema: {
    #   "format": "iri-reference"
    # }
    # data: "\\\\WINDOWS\\filëßåré"
    # result: 1
    1..1
}
ok 245 - iri-reference.json: "validation of IRI References" - "a valid IRI Reference" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 246 - iri-reference.json: "validation of IRI References" - "a valid IRI fragment" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 247 - iri-reference.json: "validation of IRI References" - "an invalid IRI fragment" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected false; got true
    # schema: {
    #   "format": "iri-reference"
    # }
    # data: "#ƒräg\\mênt"
    # result: 1
    1..1
}
# 
ok 248 - iri.json: "validation of IRIs" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 249 - iri.json: "validation of IRIs" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 250 - iri.json: "validation of IRIs" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 251 - iri.json: "validation of IRIs" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 252 - iri.json: "validation of IRIs" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 253 - iri.json: "validation of IRIs" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 254 - iri.json: "validation of IRIs" - "a valid IRI with anchor tag" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 255 - iri.json: "validation of IRIs" - "a valid IRI with anchor tag and parentheses" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 256 - iri.json: "validation of IRIs" - "a valid IRI with URL-encoded stuff" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 257 - iri.json: "validation of IRIs" - "a valid IRI with many special characters" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 258 - iri.json: "validation of IRIs" - "a valid IRI based on IPv6" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 259 - iri.json: "validation of IRIs" - "an invalid IRI based on IPv6" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected false; got true
    # schema: {
    #   "format": "iri"
    # }
    # data: "http://2001:0db8:85a3:0000:0000:8a2e:0370:7334"
    # result: 1
    1..1
}
ok 260 - iri.json: "validation of IRIs" - "an invalid relative IRI Reference" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid iri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid iri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 261 - iri.json: "validation of IRIs" - "an invalid IRI" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid iri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid iri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 262 - iri.json: "validation of IRIs" - "an invalid IRI though valid IRI reference" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid iri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid iri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 263 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 264 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 265 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 266 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 267 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 268 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 269 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "a valid JSON-pointer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 270 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (~ not escaped)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 271 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer with empty segment" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 272 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer with the last empty segment" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 273 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#1" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 274 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#2" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 275 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#3" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 276 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#4" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 277 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#5" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 278 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#6" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 279 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#7" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 280 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#8" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 281 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#9" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 282 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#10" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 283 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#11" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 284 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer as stated in RFC 6901 \#12" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 285 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer used adding to the last array position" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 286 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (- used as object member name)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 287 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (multiple escaped characters)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 288 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (escaped with fraction part) \#1" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 289 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "valid JSON-pointer (escaped with fraction part) \#2" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 290 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#1" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 291 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#2" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 292 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (URI Fragment Identifier) \#3" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 293 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (some escaped, but not all) \#1" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 294 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (some escaped, but not all) \#2" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 295 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (wrong escape character) \#1" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 296 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (wrong escape character) \#2" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 297 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (multiple characters not escaped)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 298 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#1" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 299 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#2" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 300 - json-pointer.json: "validation of JSON-pointers (JSON String Representation)" - "not a valid JSON-pointer (isn't empty nor starts with /) \#3" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 301 - regex.json: "validation of regular expressions" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 302 - regex.json: "validation of regular expressions" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 303 - regex.json: "validation of regular expressions" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 304 - regex.json: "validation of regular expressions" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 305 - regex.json: "validation of regular expressions" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 306 - regex.json: "validation of regular expressions" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 307 - regex.json: "validation of regular expressions" - "a valid regular expression" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 308 - regex.json: "validation of regular expressions" - "a regular expression with unclosed parens is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid regex",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid regex",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 309 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 310 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 311 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 312 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 313 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 314 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 315 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid upwards RJP" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 316 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid downwards RJP" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 317 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid up and then down RJP, with array index" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 318 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "a valid RJP taking the member or index name" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 319 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "an invalid RJP that is a valid JSON Pointer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 320 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "negative prefix" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 321 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "explicit positive prefix" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 322 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "\#\# is not a valid json-pointer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 323 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "zero cannot be followed by other digits, plus json-pointer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 324 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "zero cannot be followed by other digits, plus octothorpe" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 325 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "empty string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid relative-json-pointer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 326 - relative-json-pointer.json: "validation of Relative JSON Pointers (RJP)" - "multi-digit integer prefix" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 327 - time.json: "validation of time strings" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 328 - time.json: "validation of time strings" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 329 - time.json: "validation of time strings" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 330 - time.json: "validation of time strings" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 331 - time.json: "validation of time strings" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 332 - time.json: "validation of time strings" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 333 - time.json: "validation of time strings" - "a valid time string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 334 - time.json: "validation of time strings" - "invalid time string with extra leading zeros" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 335 - time.json: "validation of time strings" - "invalid time string with no leading zero for single digit" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 336 - time.json: "validation of time strings" - "hour, minute, second must be two digits" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 337 - time.json: "validation of time strings" - "a valid time string with leap second, Zulu" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 338 - time.json: "validation of time strings" - "invalid leap second, Zulu (wrong hour)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 339 - time.json: "validation of time strings" - "invalid leap second, Zulu (wrong minute)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 340 - time.json: "validation of time strings" - "valid leap second, zero time-offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 341 - time.json: "validation of time strings" - "invalid leap second, zero time-offset (wrong hour)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 342 - time.json: "validation of time strings" - "invalid leap second, zero time-offset (wrong minute)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 343 - time.json: "validation of time strings" - "valid leap second, positive time-offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 344 - time.json: "validation of time strings" - "valid leap second, large positive time-offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 345 - time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong hour)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 346 - time.json: "validation of time strings" - "invalid leap second, positive time-offset (wrong minute)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 347 - time.json: "validation of time strings" - "valid leap second, negative time-offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 348 - time.json: "validation of time strings" - "valid leap second, large negative time-offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 349 - time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong hour)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 350 - time.json: "validation of time strings" - "invalid leap second, negative time-offset (wrong minute)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 351 - time.json: "validation of time strings" - "a valid time string with second fraction" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 352 - time.json: "validation of time strings" - "a valid time string with precise second fraction" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 353 - time.json: "validation of time strings" - "a valid time string with plus offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 354 - time.json: "validation of time strings" - "a valid time string with minus offset" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 355 - time.json: "validation of time strings" - "hour, minute in time-offset must be two digits" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 356 - time.json: "validation of time strings" - "a valid time string with case-insensitive Z" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 357 - time.json: "validation of time strings" - "an invalid time string with invalid hour" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 358 - time.json: "validation of time strings" - "an invalid time string with invalid minute" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 359 - time.json: "validation of time strings" - "an invalid time string with invalid second" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 360 - time.json: "validation of time strings" - "an invalid time string with invalid leap second (wrong hour)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 361 - time.json: "validation of time strings" - "an invalid time string with invalid leap second (wrong minute)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 362 - time.json: "validation of time strings" - "an invalid time string with invalid time numoffset hour" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 363 - time.json: "validation of time strings" - "an invalid time string with invalid time numoffset minute" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 364 - time.json: "validation of time strings" - "an invalid time string with invalid time with both Z and numoffset" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 365 - time.json: "validation of time strings" - "an invalid offset indicator" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 366 - time.json: "validation of time strings" - "only RFC3339 not all of ISO 8601 are valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 367 - time.json: "validation of time strings" - "no time offset" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 368 - time.json: "validation of time strings" - "no time offset with second fraction" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 369 - time.json: "validation of time strings" - "invalid non-ASCII '২' (a Bengali 2)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 370 - time.json: "validation of time strings" - "offset not starting with plus or minus" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 371 - time.json: "validation of time strings" - "contains letters" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid time",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 372 - unknown.json: "unknown format" - "unknown formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 373 - unknown.json: "unknown format" - "unknown formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 374 - unknown.json: "unknown format" - "unknown formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 375 - unknown.json: "unknown format" - "unknown formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 376 - unknown.json: "unknown format" - "unknown formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 377 - unknown.json: "unknown format" - "unknown formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 378 - unknown.json: "unknown format" - "unknown formats ignore strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 379 - uri-reference.json: "validation of URI References" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 380 - uri-reference.json: "validation of URI References" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 381 - uri-reference.json: "validation of URI References" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 382 - uri-reference.json: "validation of URI References" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 383 - uri-reference.json: "validation of URI References" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 384 - uri-reference.json: "validation of URI References" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 385 - uri-reference.json: "validation of URI References" - "a valid URI" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 386 - uri-reference.json: "validation of URI References" - "a valid protocol-relative URI Reference" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 387 - uri-reference.json: "validation of URI References" - "a valid relative URI Reference" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 388 - uri-reference.json: "validation of URI References" - "an invalid URI Reference" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri-reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri-reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 389 - uri-reference.json: "validation of URI References" - "a valid URI Reference" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 390 - uri-reference.json: "validation of URI References" - "a valid URI fragment" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 391 - uri-reference.json: "validation of URI References" - "an invalid URI fragment" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri-reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri-reference",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 392 - uri-template.json: "format: uri-template" - "all string formats ignore integers" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 393 - uri-template.json: "format: uri-template" - "all string formats ignore floats" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 394 - uri-template.json: "format: uri-template" - "all string formats ignore objects" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 395 - uri-template.json: "format: uri-template" - "all string formats ignore arrays" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 396 - uri-template.json: "format: uri-template" - "all string formats ignore booleans" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 397 - uri-template.json: "format: uri-template" - "all string formats ignore nulls" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 398 - uri-template.json: "format: uri-template" - "a valid uri-template" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 399 - uri-template.json: "format: uri-template" - "an invalid uri-template" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected false; got true
    # schema: {
    #   "format": "uri-template"
    # }
    # data: "http://example.com/dictionary/{term:1}/{term"
    # result: 1
    1..1
}
ok 400 - uri-template.json: "format: uri-template" - "a valid uri-template without variables" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 401 - uri-template.json: "format: uri-template" - "a valid relative uri-template" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
# 
ok 402 - uri.json: "validation of URIs" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 403 - uri.json: "validation of URIs" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 404 - uri.json: "validation of URIs" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 405 - uri.json: "validation of URIs" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 406 - uri.json: "validation of URIs" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 407 - uri.json: "validation of URIs" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 408 - uri.json: "validation of URIs" - "a valid URL with anchor tag" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 409 - uri.json: "validation of URIs" - "a valid URL with anchor tag and parentheses" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 410 - uri.json: "validation of URIs" - "a valid URL with URL-encoded stuff" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 411 - uri.json: "validation of URIs" - "a valid puny-coded URL " {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 412 - uri.json: "validation of URIs" - "a valid URL with many special characters" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 413 - uri.json: "validation of URIs" - "a valid URL based on IPv4" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 414 - uri.json: "validation of URIs" - "a valid URL with ftp scheme" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 415 - uri.json: "validation of URIs" - "a valid URL for a simple text file" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 416 - uri.json: "validation of URIs" - "a valid URL " {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 417 - uri.json: "validation of URIs" - "a valid mailto URI" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 418 - uri.json: "validation of URIs" - "a valid newsgroup URI" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 419 - uri.json: "validation of URIs" - "a valid tel URI" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 420 - uri.json: "validation of URIs" - "a valid URN" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 421 - uri.json: "validation of URIs" - "an invalid protocol-relative URI Reference" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 422 - uri.json: "validation of URIs" - "an invalid relative URI Reference" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 423 - uri.json: "validation of URIs" - "an invalid URI" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 424 - uri.json: "validation of URIs" - "an invalid URI though valid URI reference" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 425 - uri.json: "validation of URIs" - "an invalid URI with spaces" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 426 - uri.json: "validation of URIs" - "an invalid URI with spaces and missing scheme" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "not a valid uri",
    #       "instanceLocation": "",
    #       "keywordLocation": "/format"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 427 - uri.json: "validation of URIs" - "an invalid URI with comma in scheme" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7-format.t line 68.
    # expected false; got true
    # schema: {
    #   "format": "uri"
    # }
    # data: "bar,baz:foo"
    # result: 1
    1..1
}
ok 428 - no leaks in the main evaluator object
ok 429 - no leaks in the short-circuiting evaluator object
1..429
ok
# AUTHOR_TESTING: <undef>
# AUTOMATED_TESTING: 1
# EXTENDED_TESTING: <undef>
# NO_TODO: <undef>
# TEST_DIR: <undef>
# NO_SHORT_CIRCUIT: <undef>
# 
# 
# generated with:              Test::JSON::Schema::Acceptance 1.027
# with commit:                 e524505b8ac4a61c5dc162b51d68c2385a134706 (Test-JSON-Schema-Acceptance-1.026-16-ge524505)
# from repository:             git://github.com/json-schema-org/JSON-Schema-Test-Suite.git
# specification version:       draft7
# optional tests included:     yes
# skipping directory:          optional/format
# 
# filename                                  pass  todo-fail  fail
# ---------------------------------------------------------------
# additionalItems.json                        20          0     0
# additionalProperties.json                   16          0     0
# allOf.json                                  30          0     0
# anyOf.json                                  18          0     0
# boolean_schema.json                         18          0     0
# const.json                                  50          0     0
# contains.json                               21          0     0
# default.json                                 7          0     0
# definitions.json                             2          0     0
# dependencies.json                           36          0     0
# enum.json                                   45          0     0
# exclusiveMaximum.json                        4          0     0
# exclusiveMinimum.json                        4          0     0
# format.json                                102          0     0
# if-then-else.json                           26          0     0
# infinite-loop-detection.json                 2          0     0
# items.json                                  28          0     0
# maxItems.json                                6          0     0
# maxLength.json                               7          0     0
# maxProperties.json                          10          0     0
# maximum.json                                 8          0     0
# minItems.json                                6          0     0
# minLength.json                               7          0     0
# minProperties.json                           8          0     0
# minimum.json                                11          0     0
# multipleOf.json                             10          0     0
# not.json                                    38          0     0
# oneOf.json                                  27          0     0
# pattern.json                                 9          0     0
# patternProperties.json                      23          0     0
# properties.json                             28          0     0
# propertyNames.json                          13          0     0
# ref.json                                    78          0     0
# refRemote.json                              23          0     0
# required.json                               16          0     0
# type.json                                   80          0     0
# uniqueItems.json                            69          0     0
# optional/bignum.json                         9          0     0
# optional/content.json                       10          0     0
# optional/cross-draft.json                    2          0     0
# optional/ecmascript-regex.json              60         14     0
# optional/float-overflow.json                 1          0     0
# optional/id.json                             7          0     0
# optional/non-bmp-regex.json                 12          0     0
# optional/unknownKeyword.json                 3          0     0
# ---------------------------------------------------------------
# TOTAL                                     1010         14     0
# 
# Congratulations, all non-optional tests are passing!
# 
t/zzz-acceptance-draft7.t ............... 
# adding resources from /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/remotes with the base URI "http://localhost:1234"...
# running tests in /usr/share/perl5/auto/share/dist/Test-JSON-Schema-Acceptance/tests/draft7 against draft7...
# 
ok 1 - additionalItems.json: "additionalItems as schema" - "additional items match schema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 2 - additionalItems.json: "additionalItems as schema" - "additional items do not match schema" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/additionalItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/additionalItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 3 - additionalItems.json: "when items is schema, additionalItems does nothing" - "valid with a array of type integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 4 - additionalItems.json: "when items is schema, additionalItems does nothing" - "invalid with a array of mixed types" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/type"
    #     },
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 5 - additionalItems.json: "when items is schema, boolean additionalItems does nothing" - "all items match schema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 6 - additionalItems.json: "array of items with no additionalItems permitted" - "empty array" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 7 - additionalItems.json: "array of items with no additionalItems permitted" - "fewer number of items present (1)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 8 - additionalItems.json: "array of items with no additionalItems permitted" - "fewer number of items present (2)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 9 - additionalItems.json: "array of items with no additionalItems permitted" - "equal number of items present" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 10 - additionalItems.json: "array of items with no additionalItems permitted" - "additional items are not permitted" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 11 - additionalItems.json: "additionalItems as false without items" - "items defaults to empty schema so everything is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 12 - additionalItems.json: "additionalItems as false without items" - "ignores non-arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 13 - additionalItems.json: "additionalItems are allowed by default" - "only the first item is validated" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 14 - additionalItems.json: "additionalItems does not look in applicators, valid case" - "items defined in allOf are not examined" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 15 - additionalItems.json: "additionalItems does not look in applicators, invalid case" - "items defined in allOf are not examined" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/additionalItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/additionalItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 16 - additionalItems.json: "items validation adjusts the starting index for additionalItems" - "valid items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 17 - additionalItems.json: "items validation adjusts the starting index for additionalItems" - "wrong type of second item" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/additionalItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/additionalItems/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 18 - additionalItems.json: "additionalItems with heterogeneous array" - "heterogeneous invalid instance" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 19 - additionalItems.json: "additionalItems with heterogeneous array" - "valid instance" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 20 - additionalItems.json: "additionalItems with null instance elements" - "allows null elements" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 21 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "no additional properties is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 22 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "an additional property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 23 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 24 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 25 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 26 - additionalProperties.json: "additionalProperties being false does not allow other properties" - "patternProperties are not additional properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 27 - additionalProperties.json: "non-ASCII pattern with additionalProperties" - "matching the pattern is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 28 - additionalProperties.json: "non-ASCII pattern with additionalProperties" - "not matching the pattern is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/élmény",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/élmény",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 29 - additionalProperties.json: "additionalProperties with schema" - "no additional properties is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 30 - additionalProperties.json: "additionalProperties with schema" - "an additional valid property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 31 - additionalProperties.json: "additionalProperties with schema" - "an additional invalid property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 32 - additionalProperties.json: "additionalProperties can exist by itself" - "an additional valid property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 33 - additionalProperties.json: "additionalProperties can exist by itself" - "an additional invalid property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 34 - additionalProperties.json: "additionalProperties are allowed by default" - "additional properties are allowed" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 35 - additionalProperties.json: "additionalProperties does not look in applicators" - "properties defined in allOf are not examined" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 36 - additionalProperties.json: "additionalProperties with null valued instance properties" - "allows null values" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 37 - allOf.json: "allOf" - "allOf" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 38 - allOf.json: "allOf" - "mismatch second" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 39 - allOf.json: "allOf" - "mismatch first" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/required"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/required"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 40 - allOf.json: "allOf" - "wrong type" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/properties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/properties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 41 - allOf.json: "allOf with base schema" - "valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 42 - allOf.json: "allOf with base schema" - "mismatch base schema" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 43 - allOf.json: "allOf with base schema" - "mismatch first allOf" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 44 - allOf.json: "allOf with base schema" - "mismatch second allOf" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: baz",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/required"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: baz",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/required"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 45 - allOf.json: "allOf with base schema" - "mismatch both" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "object is missing property: baz",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/required"
    #     },
    #     {
    #       "error": "subschemas 0, 1 are not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/required"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 46 - allOf.json: "allOf simple types" - "valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 47 - allOf.json: "allOf simple types" - "mismatch one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 30",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/maximum"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 30",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/maximum"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 48 - allOf.json: "allOf with boolean schemas, all true" - "any value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 49 - allOf.json: "allOf with boolean schemas, some false" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 50 - allOf.json: "allOf with boolean schemas, all false" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1"
    #     },
    #     {
    #       "error": "subschemas 0, 1 are not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 51 - allOf.json: "allOf with one empty schema" - "any data is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 52 - allOf.json: "allOf with two empty schemas" - "any data is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 53 - allOf.json: "allOf with the first empty schema" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 54 - allOf.json: "allOf with the first empty schema" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/type"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/type"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 55 - allOf.json: "allOf with the last empty schema" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 56 - allOf.json: "allOf with the last empty schema" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 57 - allOf.json: "nested allOf, to check validation semantics" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 58 - allOf.json: "nested allOf, to check validation semantics" - "anything non-null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/allOf/0/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/allOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/allOf/0/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/allOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 59 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: false, oneOf: false" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 60 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: false, oneOf: true" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 61 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: true, oneOf: false" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 62 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: false, anyOf: true, oneOf: true" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/multipleOf"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 63 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: false, oneOf: false" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 64 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: false, oneOf: true" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 65 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: true, oneOf: false" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/multipleOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 66 - allOf.json: "allOf combined with anyOf, oneOf" - "allOf: true, anyOf: true, oneOf: true" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 67 - anyOf.json: "anyOf" - "first anyOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 68 - anyOf.json: "anyOf" - "second anyOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 69 - anyOf.json: "anyOf" - "both anyOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 70 - anyOf.json: "anyOf" - "neither anyOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/minimum"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/type"
    #     },
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/minimum"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 71 - anyOf.json: "anyOf with base schema" - "mismatch base schema" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 72 - anyOf.json: "anyOf with base schema" - "one anyOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 73 - anyOf.json: "anyOf with base schema" - "both anyOf invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/maxLength"
    #     },
    #     {
    #       "error": "length is less than 4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/minLength"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/maxLength"
    #     },
    #     {
    #       "error": "length is less than 4",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/minLength"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 74 - anyOf.json: "anyOf with boolean schemas, all true" - "any value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 75 - anyOf.json: "anyOf with boolean schemas, some true" - "any value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 76 - anyOf.json: "anyOf with boolean schemas, all false" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 77 - anyOf.json: "anyOf complex types" - "first anyOf valid (complex)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 78 - anyOf.json: "anyOf complex types" - "second anyOf valid (complex)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 79 - anyOf.json: "anyOf complex types" - "both anyOf valid (complex)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 80 - anyOf.json: "anyOf complex types" - "neither anyOf valid (complex)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/anyOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/properties"
    #     },
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/properties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/anyOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/properties"
    #     },
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/anyOf/1/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/properties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 81 - anyOf.json: "anyOf with one empty schema" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 82 - anyOf.json: "anyOf with one empty schema" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 83 - anyOf.json: "nested anyOf, to check validation semantics" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 84 - anyOf.json: "nested anyOf, to check validation semantics" - "anything non-null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/anyOf/0/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/anyOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/anyOf/0/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/anyOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 85 - boolean_schema.json: "boolean schema 'true'" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 86 - boolean_schema.json: "boolean schema 'true'" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 87 - boolean_schema.json: "boolean schema 'true'" - "boolean true is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 88 - boolean_schema.json: "boolean schema 'true'" - "boolean false is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 89 - boolean_schema.json: "boolean schema 'true'" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 90 - boolean_schema.json: "boolean schema 'true'" - "object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 91 - boolean_schema.json: "boolean schema 'true'" - "empty object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 92 - boolean_schema.json: "boolean schema 'true'" - "array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 93 - boolean_schema.json: "boolean schema 'true'" - "empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 94 - boolean_schema.json: "boolean schema 'false'" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 95 - boolean_schema.json: "boolean schema 'false'" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 96 - boolean_schema.json: "boolean schema 'false'" - "boolean true is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 97 - boolean_schema.json: "boolean schema 'false'" - "boolean false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 98 - boolean_schema.json: "boolean schema 'false'" - "null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 99 - boolean_schema.json: "boolean schema 'false'" - "object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 100 - boolean_schema.json: "boolean schema 'false'" - "empty object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 101 - boolean_schema.json: "boolean schema 'false'" - "array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 102 - boolean_schema.json: "boolean schema 'false'" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": ""
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 103 - const.json: "const validation" - "same value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 104 - const.json: "const validation" - "another value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 105 - const.json: "const validation" - "another type is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 106 - const.json: "const with object" - "same object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 107 - const.json: "const with object" - "same object with different property order is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 108 - const.json: "const with object" - "another object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 109 - const.json: "const with object" - "another type is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 110 - const.json: "const with array" - "same array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 111 - const.json: "const with array" - "another array item is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs object)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs object)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 112 - const.json: "const with array" - "array with additional items is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 113 - const.json: "const with null" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 114 - const.json: "const with null" - "not null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 115 - const.json: "const with false does not match 0" - "false is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 116 - const.json: "const with false does not match 0" - "integer zero is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 117 - const.json: "const with false does not match 0" - "float zero is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 118 - const.json: "const with true does not match 1" - "true is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 119 - const.json: "const with true does not match 1" - "integer one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 120 - const.json: "const with true does not match 1" - "float one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 121 - const.json: "const with [false] does not match [0]" - "[false] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 122 - const.json: "const with [false] does not match [0]" - "[0] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 123 - const.json: "const with [false] does not match [0]" - "[0.0] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 124 - const.json: "const with [true] does not match [1]" - "[true] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 125 - const.json: "const with [true] does not match [1]" - "[1] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 126 - const.json: "const with [true] does not match [1]" - "[1.0] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 127 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": false} is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 128 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": 0} is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 129 - const.json: "const with {"a": false} does not match {"a": 0}" - "{"a": 0.0} is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 130 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": true} is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 131 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": 1} is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 132 - const.json: "const with {"a": true} does not match {"a": 1}" - "{"a": 1.0} is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (at '/a': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 133 - const.json: "const with 0 does not match other zero-like types" - "false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 134 - const.json: "const with 0 does not match other zero-like types" - "integer zero is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 135 - const.json: "const with 0 does not match other zero-like types" - "float zero is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 136 - const.json: "const with 0 does not match other zero-like types" - "empty object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 137 - const.json: "const with 0 does not match other zero-like types" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 138 - const.json: "const with 0 does not match other zero-like types" - "empty string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 139 - const.json: "const with 1 does not match true" - "true is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 140 - const.json: "const with 1 does not match true" - "integer one is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 141 - const.json: "const with 1 does not match true" - "float one is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 142 - const.json: "const with -2.0 matches integer and float types" - "integer -2 is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 143 - const.json: "const with -2.0 matches integer and float types" - "integer 2 is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 144 - const.json: "const with -2.0 matches integer and float types" - "float -2.0 is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 145 - const.json: "const with -2.0 matches integer and float types" - "float 2.0 is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 146 - const.json: "const with -2.0 matches integer and float types" - "float -2.00001 is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 147 - const.json: "float and integers are equal up to 64-bit representation limits" - "integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 148 - const.json: "float and integers are equal up to 64-bit representation limits" - "integer minus one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 149 - const.json: "float and integers are equal up to 64-bit representation limits" - "float is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 150 - const.json: "float and integers are equal up to 64-bit representation limits" - "float minus one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 151 - const.json: "nul characters in strings" - "match string with nul" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 152 - const.json: "nul characters in strings" - "do not match string lacking nul" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/const"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 153 - contains.json: "contains keyword validation" - "array with item matching schema (5) is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 154 - contains.json: "contains keyword validation" - "array with item matching schema (6) is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 155 - contains.json: "contains keyword validation" - "array with two items matching schema (5, 6) is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 156 - contains.json: "contains keyword validation" - "array without items matching schema is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 5",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/minimum"
    #     },
    #     {
    #       "error": "value is less than 5",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/minimum"
    #     },
    #     {
    #       "error": "value is less than 5",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/contains/minimum"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 5",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/minimum"
    #     },
    #     {
    #       "error": "value is less than 5",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/minimum"
    #     },
    #     {
    #       "error": "value is less than 5",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/contains/minimum"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 157 - contains.json: "contains keyword validation" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 158 - contains.json: "contains keyword validation" - "not array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 159 - contains.json: "contains keyword with const keyword" - "array with item 5 is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 160 - contains.json: "contains keyword with const keyword" - "array with two items 5 is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 161 - contains.json: "contains keyword with const keyword" - "array without item 5 is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/contains/const"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 162 - contains.json: "contains keyword with boolean schema true" - "any non-empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 163 - contains.json: "contains keyword with boolean schema true" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 164 - contains.json: "contains keyword with boolean schema false" - "any non-empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 165 - contains.json: "contains keyword with boolean schema false" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 166 - contains.json: "contains keyword with boolean schema false" - "non-arrays are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 167 - contains.json: "items + contains" - "matches items, does not match contains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 168 - contains.json: "items + contains" - "does not match items, matches contains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 169 - contains.json: "items + contains" - "matches both items and contains" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 170 - contains.json: "items + contains" - "matches neither items nor contains" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "value is not a multiple of 3",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/contains/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 171 - contains.json: "contains with false if subschema" - "any non-empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 172 - contains.json: "contains with false if subschema" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is not valid against any item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contains"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 173 - contains.json: "contains with null instance elements" - "allows null items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 174 - default.json: "invalid type for default" - "valid when property is specified" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 175 - default.json: "invalid type for default" - "still valid when the invalid default is used" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 176 - default.json: "invalid string value for default" - "valid when property is specified" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 177 - default.json: "invalid string value for default" - "still valid when the invalid default is used" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 178 - default.json: "the default keyword does not do anything if the property is missing" - "an explicit property value is checked against maximum (passing)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 179 - default.json: "the default keyword does not do anything if the property is missing" - "an explicit property value is checked against maximum (failing)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 3",
    #       "instanceLocation": "/alpha",
    #       "keywordLocation": "/properties/alpha/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 3",
    #       "instanceLocation": "/alpha",
    #       "keywordLocation": "/properties/alpha/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 180 - default.json: "the default keyword does not do anything if the property is missing" - "missing properties are not filled in with the default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 181 - definitions.json: "validate definition against metaschema" - "valid definition schema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 182 - definitions.json: "validate definition against metaschema" - "invalid definition schema" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/definitions/simpleTypes/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "/definitions/foo/type",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties/type/anyOf/1/type",
    #       "error": "got integer, not array",
    #       "instanceLocation": "/definitions/foo/type",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties/type/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/definitions/foo/type",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/definitions/foo",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties/definitions/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/definitions",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/definitions/simpleTypes/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "/definitions/foo/type",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties/type/anyOf/1/type",
    #       "error": "got integer, not array",
    #       "instanceLocation": "/definitions/foo/type",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf/1/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties/type/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/definitions/foo/type",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties/type/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/definitions/foo",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties/definitions/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/definitions",
    #       "keywordLocation": "/$ref/properties/definitions/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 183 - dependencies.json: "dependencies" - "neither" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 184 - dependencies.json: "dependencies" - "nondependant" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 185 - dependencies.json: "dependencies" - "with dependency" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 186 - dependencies.json: "dependencies" - "missing dependency" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 187 - dependencies.json: "dependencies" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 188 - dependencies.json: "dependencies" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 189 - dependencies.json: "dependencies" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 190 - dependencies.json: "dependencies with empty array" - "empty object" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 191 - dependencies.json: "dependencies with empty array" - "object with one property" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 192 - dependencies.json: "dependencies with empty array" - "non-object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 193 - dependencies.json: "multiple dependencies" - "neither" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 194 - dependencies.json: "multiple dependencies" - "nondependants" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 195 - dependencies.json: "multiple dependencies" - "with dependencies" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 196 - dependencies.json: "multiple dependencies" - "missing dependency" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 197 - dependencies.json: "multiple dependencies" - "missing other dependency" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 198 - dependencies.json: "multiple dependencies" - "missing both dependencies" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: foo, bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: foo, bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/quux"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 199 - dependencies.json: "multiple dependencies subschema" - "valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 200 - dependencies.json: "multiple dependencies subschema" - "no dependency" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 201 - dependencies.json: "multiple dependencies subschema" - "wrong type" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependencies/bar/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependencies/bar/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 202 - dependencies.json: "multiple dependencies subschema" - "wrong type other" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/dependencies/bar/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/dependencies/bar/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 203 - dependencies.json: "multiple dependencies subschema" - "wrong type both" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/dependencies/bar/properties/bar/type"
    #     },
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependencies/bar/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/dependencies/bar/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar/properties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 204 - dependencies.json: "dependencies with boolean subschemas" - "object with property having schema true is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 205 - dependencies.json: "dependencies with boolean subschemas" - "object with property having schema false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 206 - dependencies.json: "dependencies with boolean subschemas" - "object with both properties is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 207 - dependencies.json: "dependencies with boolean subschemas" - "empty object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 208 - dependencies.json: "dependencies with escaped characters" - "valid object 1" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 209 - dependencies.json: "dependencies with escaped characters" - "valid object 2" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 210 - dependencies.json: "dependencies with escaped characters" - "valid object 3" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 211 - dependencies.json: "dependencies with escaped characters" - "invalid object 1" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo\rbar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo\nbar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo\rbar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo\nbar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 212 - dependencies.json: "dependencies with escaped characters" - "invalid object 2" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 4 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo\tbar/minProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 4 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo\tbar/minProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 213 - dependencies.json: "dependencies with escaped characters" - "invalid object 3" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo\"bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo'bar/required"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo\"bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo'bar/required"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 214 - dependencies.json: "dependencies with escaped characters" - "invalid object 4" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo'bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo\"bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo'bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo\"bar"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 215 - dependencies.json: "dependent subschema incompatible with root" - "matches root" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependencies/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependencies/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 216 - dependencies.json: "dependent subschema incompatible with root" - "matches dependency" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 217 - dependencies.json: "dependent subschema incompatible with root" - "matches both" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependencies/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/dependencies/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies/foo/additionalProperties"
    #     },
    #     {
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/dependencies"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 218 - dependencies.json: "dependent subschema incompatible with root" - "no dependency" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 219 - enum.json: "simple enum validation" - "one of the enum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 220 - enum.json: "simple enum validation" - "something else is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 221 - enum.json: "heterogeneous enum validation" - "one of the enum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 222 - enum.json: "heterogeneous enum validation" - "something else is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 223 - enum.json: "heterogeneous enum validation" - "objects are deep compared" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '': wrong type: object vs integer; from enum 1 at '': wrong type: object vs string; from enum 2 at '': wrong type: object vs array; from enum 3 at '': wrong type: object vs boolean; from enum 4 at '/foo': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '': wrong type: object vs integer; from enum 1 at '': wrong type: object vs string; from enum 2 at '': wrong type: object vs array; from enum 3 at '': wrong type: object vs boolean; from enum 4 at '/foo': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 224 - enum.json: "heterogeneous enum validation" - "valid object matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 225 - enum.json: "heterogeneous enum validation" - "extra properties in object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 226 - enum.json: "heterogeneous enum-with-null validation" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 227 - enum.json: "heterogeneous enum-with-null validation" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 228 - enum.json: "heterogeneous enum-with-null validation" - "something else is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 229 - enum.json: "enums in properties" - "both properties are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 230 - enum.json: "enums in properties" - "wrong foo value" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 231 - enum.json: "enums in properties" - "wrong bar value" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/enum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 232 - enum.json: "enums in properties" - "missing optional property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 233 - enum.json: "enums in properties" - "missing required property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 234 - enum.json: "enums in properties" - "missing all properties is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 235 - enum.json: "enum with escaped characters" - "member 1 is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 236 - enum.json: "enum with escaped characters" - "member 2 is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 237 - enum.json: "enum with escaped characters" - "another string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 238 - enum.json: "enum with false does not match 0" - "false is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 239 - enum.json: "enum with false does not match 0" - "integer zero is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 240 - enum.json: "enum with false does not match 0" - "float zero is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 241 - enum.json: "enum with [false] does not match [0]" - "[false] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 242 - enum.json: "enum with [false] does not match [0]" - "[0] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 243 - enum.json: "enum with [false] does not match [0]" - "[0.0] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 244 - enum.json: "enum with true does not match 1" - "true is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 245 - enum.json: "enum with true does not match 1" - "integer one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 246 - enum.json: "enum with true does not match 1" - "float one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 247 - enum.json: "enum with [true] does not match [1]" - "[true] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 248 - enum.json: "enum with [true] does not match [1]" - "[1] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 249 - enum.json: "enum with [true] does not match [1]" - "[1.0] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: integer vs boolean)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 250 - enum.json: "enum with 0 does not match false" - "false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 251 - enum.json: "enum with 0 does not match false" - "integer zero is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 252 - enum.json: "enum with 0 does not match false" - "float zero is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 253 - enum.json: "enum with [0] does not match [false]" - "[false] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 254 - enum.json: "enum with [0] does not match [false]" - "[0] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 255 - enum.json: "enum with [0] does not match [false]" - "[0.0] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 256 - enum.json: "enum with 1 does not match true" - "true is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 257 - enum.json: "enum with 1 does not match true" - "integer one is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 258 - enum.json: "enum with 1 does not match true" - "float one is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 259 - enum.json: "enum with [1] does not match [true]" - "[true] is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match (from enum 0 at '/0': wrong type: boolean vs integer)",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 260 - enum.json: "enum with [1] does not match [true]" - "[1] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 261 - enum.json: "enum with [1] does not match [true]" - "[1.0] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 262 - enum.json: "nul characters in strings" - "match string with nul" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 263 - enum.json: "nul characters in strings" - "do not match string lacking nul" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 264 - exclusiveMaximum.json: "exclusiveMaximum validation" - "below the exclusiveMaximum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 265 - exclusiveMaximum.json: "exclusiveMaximum validation" - "boundary point is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 266 - exclusiveMaximum.json: "exclusiveMaximum validation" - "above the exclusiveMaximum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 267 - exclusiveMaximum.json: "exclusiveMaximum validation" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 268 - exclusiveMinimum.json: "exclusiveMinimum validation" - "above the exclusiveMinimum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 269 - exclusiveMinimum.json: "exclusiveMinimum validation" - "boundary point is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 270 - exclusiveMinimum.json: "exclusiveMinimum validation" - "below the exclusiveMinimum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 271 - exclusiveMinimum.json: "exclusiveMinimum validation" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 272 - format.json: "email format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 273 - format.json: "email format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 274 - format.json: "email format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 275 - format.json: "email format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 276 - format.json: "email format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 277 - format.json: "email format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 278 - format.json: "idn-email format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 279 - format.json: "idn-email format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 280 - format.json: "idn-email format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 281 - format.json: "idn-email format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 282 - format.json: "idn-email format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 283 - format.json: "idn-email format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 284 - format.json: "regex format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 285 - format.json: "regex format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 286 - format.json: "regex format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 287 - format.json: "regex format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 288 - format.json: "regex format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 289 - format.json: "regex format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 290 - format.json: "ipv4 format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 291 - format.json: "ipv4 format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 292 - format.json: "ipv4 format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 293 - format.json: "ipv4 format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 294 - format.json: "ipv4 format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 295 - format.json: "ipv4 format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 296 - format.json: "ipv6 format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 297 - format.json: "ipv6 format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 298 - format.json: "ipv6 format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 299 - format.json: "ipv6 format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 300 - format.json: "ipv6 format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 301 - format.json: "ipv6 format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 302 - format.json: "idn-hostname format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 303 - format.json: "idn-hostname format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 304 - format.json: "idn-hostname format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 305 - format.json: "idn-hostname format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 306 - format.json: "idn-hostname format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 307 - format.json: "idn-hostname format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 308 - format.json: "hostname format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 309 - format.json: "hostname format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 310 - format.json: "hostname format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 311 - format.json: "hostname format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 312 - format.json: "hostname format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 313 - format.json: "hostname format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 314 - format.json: "date format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 315 - format.json: "date format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 316 - format.json: "date format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 317 - format.json: "date format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 318 - format.json: "date format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 319 - format.json: "date format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 320 - format.json: "date-time format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 321 - format.json: "date-time format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 322 - format.json: "date-time format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 323 - format.json: "date-time format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 324 - format.json: "date-time format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 325 - format.json: "date-time format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 326 - format.json: "time format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 327 - format.json: "time format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 328 - format.json: "time format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 329 - format.json: "time format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 330 - format.json: "time format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 331 - format.json: "time format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 332 - format.json: "json-pointer format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 333 - format.json: "json-pointer format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 334 - format.json: "json-pointer format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 335 - format.json: "json-pointer format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 336 - format.json: "json-pointer format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 337 - format.json: "json-pointer format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 338 - format.json: "relative-json-pointer format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 339 - format.json: "relative-json-pointer format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 340 - format.json: "relative-json-pointer format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 341 - format.json: "relative-json-pointer format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 342 - format.json: "relative-json-pointer format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 343 - format.json: "relative-json-pointer format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 344 - format.json: "iri format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 345 - format.json: "iri format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 346 - format.json: "iri format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 347 - format.json: "iri format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 348 - format.json: "iri format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 349 - format.json: "iri format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 350 - format.json: "iri-reference format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 351 - format.json: "iri-reference format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 352 - format.json: "iri-reference format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 353 - format.json: "iri-reference format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 354 - format.json: "iri-reference format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 355 - format.json: "iri-reference format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 356 - format.json: "uri format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 357 - format.json: "uri format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 358 - format.json: "uri format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 359 - format.json: "uri format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 360 - format.json: "uri format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 361 - format.json: "uri format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 362 - format.json: "uri-reference format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 363 - format.json: "uri-reference format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 364 - format.json: "uri-reference format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 365 - format.json: "uri-reference format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 366 - format.json: "uri-reference format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 367 - format.json: "uri-reference format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 368 - format.json: "uri-template format" - "all string formats ignore integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 369 - format.json: "uri-template format" - "all string formats ignore floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 370 - format.json: "uri-template format" - "all string formats ignore objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 371 - format.json: "uri-template format" - "all string formats ignore arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 372 - format.json: "uri-template format" - "all string formats ignore booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 373 - format.json: "uri-template format" - "all string formats ignore nulls" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 374 - if-then-else.json: "ignore if without then or else" - "valid when valid against lone if" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 375 - if-then-else.json: "ignore if without then or else" - "valid when invalid against lone if" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 376 - if-then-else.json: "ignore then without if" - "valid when valid against lone then" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 377 - if-then-else.json: "ignore then without if" - "valid when invalid against lone then" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 378 - if-then-else.json: "ignore else without if" - "valid when valid against lone else" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 379 - if-then-else.json: "ignore else without if" - "valid when invalid against lone else" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 380 - if-then-else.json: "if and then without else" - "valid through then" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 381 - if-then-else.json: "if and then without else" - "invalid through then" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/minimum"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/minimum"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 382 - if-then-else.json: "if and then without else" - "valid when if test fails" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 383 - if-then-else.json: "if and else without then" - "valid when if test passes" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 384 - if-then-else.json: "if and else without then" - "valid through else" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 385 - if-then-else.json: "if and else without then" - "invalid through else" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 386 - if-then-else.json: "validate against correct branch, then vs else" - "valid through then" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 387 - if-then-else.json: "validate against correct branch, then vs else" - "invalid through then" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/minimum"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -10",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/minimum"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 388 - if-then-else.json: "validate against correct branch, then vs else" - "valid through else" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 389 - if-then-else.json: "validate against correct branch, then vs else" - "invalid through else" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/multipleOf"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 390 - if-then-else.json: "non-interference across combined schemas" - "valid, but would have been invalid through then" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 391 - if-then-else.json: "non-interference across combined schemas" - "valid, but would have been invalid through else" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 392 - if-then-else.json: "if with boolean schema true" - "boolean schema true in if always chooses the then path (valid)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 393 - if-then-else.json: "if with boolean schema true" - "boolean schema true in if always chooses the then path (invalid)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 394 - if-then-else.json: "if with boolean schema false" - "boolean schema false in if always chooses the else path (invalid)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 395 - if-then-else.json: "if with boolean schema false" - "boolean schema false in if always chooses the else path (valid)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 396 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "yes redirects to then and passes" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 397 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "other redirects to else and passes" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 398 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "no redirects to then and fails" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/then"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 399 - if-then-else.json: "if appears at the end when serialized (keyword processing sequence)" - "invalid redirects to else and fails" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 400 - infinite-loop-detection.json: "evaluating the same schema location against the same data location twice is not a sign of an infinite loop" - "passing case" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 401 - infinite-loop-detection.json: "evaluating the same schema location against the same data location twice is not a sign of an infinite loop" - "failing case" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/int/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/0/properties/foo/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/definitions/int/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/1/additionalProperties/$ref/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/additionalProperties"
    #     },
    #     {
    #       "error": "subschemas 0, 1 are not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/int/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/allOf/0/properties/foo/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/properties"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 402 - items.json: "a schema given for items" - "valid items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 403 - items.json: "a schema given for items" - "wrong type of items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 404 - items.json: "a schema given for items" - "ignores non-arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 405 - items.json: "a schema given for items" - "JavaScript pseudo-array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 406 - items.json: "an array of schemas for items" - "correct types" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 407 - items.json: "an array of schemas for items" - "wrong types" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/type"
    #     },
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/1/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 408 - items.json: "an array of schemas for items" - "incomplete array of items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 409 - items.json: "an array of schemas for items" - "array with additional items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 410 - items.json: "an array of schemas for items" - "empty array" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 411 - items.json: "an array of schemas for items" - "JavaScript pseudo-array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 412 - items.json: "items with boolean schema (true)" - "any array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 413 - items.json: "items with boolean schema (true)" - "empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 414 - items.json: "items with boolean schema (false)" - "any non-empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 415 - items.json: "items with boolean schema (false)" - "empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 416 - items.json: "items with boolean schemas" - "array with one item is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 417 - items.json: "items with boolean schemas" - "array with two items is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/1"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "item not permitted",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/1"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 418 - items.json: "items with boolean schemas" - "empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 419 - items.json: "items and subitems" - "valid items" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 420 - items.json: "items and subitems" - "too many items" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/3",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 421 - items.json: "items and subitems" - "too many sub-items" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/item/additionalItems",
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0/2",
    #       "keywordLocation": "/items/0/$ref/additionalItems"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/definitions/item/additionalItems",
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/$ref/additionalItems"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/item/additionalItems",
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/0/2",
    #       "keywordLocation": "/items/0/$ref/additionalItems"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/definitions/item/additionalItems",
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/$ref/additionalItems"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 422 - items.json: "items and subitems" - "wrong item" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/item/type",
    #       "error": "got object, not array",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/$ref/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/item/type",
    #       "error": "got object, not array",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/$ref/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 423 - items.json: "items and subitems" - "wrong sub-item" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/sub-item/required",
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/0/$ref/items/0/$ref/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/definitions/item/items",
    #       "error": "not all items are valid",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/$ref/items"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/sub-item/required",
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/0/$ref/items/0/$ref/required"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/definitions/item/items",
    #       "error": "not all items are valid",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/0/$ref/items"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 424 - items.json: "items and subitems" - "fewer items is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 425 - items.json: "nested items" - "valid nested array" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 426 - items.json: "nested items" - "nested array with invalid type" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/0/0/0/0",
    #       "keywordLocation": "/items/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0/0",
    #       "keywordLocation": "/items/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/0/0/0/0",
    #       "keywordLocation": "/items/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0/0",
    #       "keywordLocation": "/items/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 427 - items.json: "nested items" - "not deep enough" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/0/0/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/0/1/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/1",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/0/2/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/2",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/1/0/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/1/0",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/1/1/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/1/1",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/1/2/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/1/2",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "/0/0/0",
    #       "keywordLocation": "/items/items/items/type"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 428 - items.json: "single-form items with null instance elements" - "allows null elements" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 429 - items.json: "array-form items with null instance elements" - "allows null elements" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 430 - maxItems.json: "maxItems validation" - "shorter is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 431 - maxItems.json: "maxItems validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 432 - maxItems.json: "maxItems validation" - "too long is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 433 - maxItems.json: "maxItems validation" - "ignores non-arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 434 - maxItems.json: "maxItems validation with a decimal" - "shorter is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 435 - maxItems.json: "maxItems validation with a decimal" - "too long is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 2 items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 436 - maxLength.json: "maxLength validation" - "shorter is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 437 - maxLength.json: "maxLength validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 438 - maxLength.json: "maxLength validation" - "too long is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 439 - maxLength.json: "maxLength validation" - "ignores non-strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 440 - maxLength.json: "maxLength validation" - "two graphemes is long enough" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 441 - maxLength.json: "maxLength validation with a decimal" - "shorter is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 442 - maxLength.json: "maxLength validation with a decimal" - "too long is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 443 - maxProperties.json: "maxProperties validation" - "shorter is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 444 - maxProperties.json: "maxProperties validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 445 - maxProperties.json: "maxProperties validation" - "too long is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 2 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 2 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 446 - maxProperties.json: "maxProperties validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 447 - maxProperties.json: "maxProperties validation" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 448 - maxProperties.json: "maxProperties validation" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 449 - maxProperties.json: "maxProperties validation with a decimal" - "shorter is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 450 - maxProperties.json: "maxProperties validation with a decimal" - "too long is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 2 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 2 properties",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 451 - maxProperties.json: "maxProperties = 0 means the object is empty" - "no properties is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 452 - maxProperties.json: "maxProperties = 0 means the object is empty" - "one property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 0 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has more than 0 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maxProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 453 - maximum.json: "maximum validation" - "below the maximum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 454 - maximum.json: "maximum validation" - "boundary point is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 455 - maximum.json: "maximum validation" - "above the maximum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 3",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 456 - maximum.json: "maximum validation" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 457 - maximum.json: "maximum validation with unsigned integer" - "below the maximum is invalid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 458 - maximum.json: "maximum validation with unsigned integer" - "boundary point integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 459 - maximum.json: "maximum validation with unsigned integer" - "boundary point float is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 460 - maximum.json: "maximum validation with unsigned integer" - "above the maximum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 300",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 300",
    #       "instanceLocation": "",
    #       "keywordLocation": "/maximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 461 - minItems.json: "minItems validation" - "longer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 462 - minItems.json: "minItems validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 463 - minItems.json: "minItems validation" - "too short is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 464 - minItems.json: "minItems validation" - "ignores non-arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 465 - minItems.json: "minItems validation with a decimal" - "longer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 466 - minItems.json: "minItems validation with a decimal" - "too short is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 1 item",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 467 - minLength.json: "minLength validation" - "longer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 468 - minLength.json: "minLength validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 469 - minLength.json: "minLength validation" - "too short is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 470 - minLength.json: "minLength validation" - "ignores non-strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 471 - minLength.json: "minLength validation" - "one grapheme is not long enough" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 472 - minLength.json: "minLength validation with a decimal" - "longer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 473 - minLength.json: "minLength validation with a decimal" - "too short is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minLength"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 474 - minProperties.json: "minProperties validation" - "longer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 475 - minProperties.json: "minProperties validation" - "exact length is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 476 - minProperties.json: "minProperties validation" - "too short is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 477 - minProperties.json: "minProperties validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 478 - minProperties.json: "minProperties validation" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 479 - minProperties.json: "minProperties validation" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 480 - minProperties.json: "minProperties validation with a decimal" - "longer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 481 - minProperties.json: "minProperties validation with a decimal" - "too short is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object has fewer than 1 property",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 482 - minimum.json: "minimum validation" - "above the minimum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 483 - minimum.json: "minimum validation" - "boundary point is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 484 - minimum.json: "minimum validation" - "below the minimum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than 1.1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 485 - minimum.json: "minimum validation" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 486 - minimum.json: "minimum validation with signed integer" - "negative above the minimum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 487 - minimum.json: "minimum validation with signed integer" - "positive above the minimum is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 488 - minimum.json: "minimum validation with signed integer" - "boundary point is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 489 - minimum.json: "minimum validation with signed integer" - "boundary point with float is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 490 - minimum.json: "minimum validation with signed integer" - "float below the minimum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 491 - minimum.json: "minimum validation with signed integer" - "int below the minimum is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than -2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/minimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 492 - minimum.json: "minimum validation with signed integer" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 493 - multipleOf.json: "by int" - "int by int" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 494 - multipleOf.json: "by int" - "int by int fail" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 495 - multipleOf.json: "by int" - "ignores non-numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 496 - multipleOf.json: "by number" - "zero is multiple of anything" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 497 - multipleOf.json: "by number" - "4.5 is multiple of 1.5" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 498 - multipleOf.json: "by number" - "35 is not multiple of 1.5" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 1.5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 1.5",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 499 - multipleOf.json: "by small number" - "0.0075 is multiple of 0.0001" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 500 - multipleOf.json: "by small number" - "0.00751 is not multiple of 0.0001" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 0.0001",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 0.0001",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 501 - multipleOf.json: "float division = inf" - "always invalid, but naive implementations may raise an overflow error" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 0.123456789",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is not a multiple of 0.123456789",
    #       "instanceLocation": "",
    #       "keywordLocation": "/multipleOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 502 - multipleOf.json: "small multiple of large integer" - "any integer is a multiple of 1e-8" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 503 - not.json: "not" - "allowed" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 504 - not.json: "not" - "disallowed" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 505 - not.json: "not multiple types" - "valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 506 - not.json: "not multiple types" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 507 - not.json: "not multiple types" - "other mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 508 - not.json: "not more complex schema" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 509 - not.json: "not more complex schema" - "other match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 510 - not.json: "not more complex schema" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 511 - not.json: "forbidden property" - "property present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/not"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/not"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 512 - not.json: "forbidden property" - "property absent" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 513 - not.json: "forbid everything with empty schema" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 514 - not.json: "forbid everything with empty schema" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 515 - not.json: "forbid everything with empty schema" - "boolean true is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 516 - not.json: "forbid everything with empty schema" - "boolean false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 517 - not.json: "forbid everything with empty schema" - "null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 518 - not.json: "forbid everything with empty schema" - "object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 519 - not.json: "forbid everything with empty schema" - "empty object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 520 - not.json: "forbid everything with empty schema" - "array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 521 - not.json: "forbid everything with empty schema" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 522 - not.json: "forbid everything with boolean schema true" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 523 - not.json: "forbid everything with boolean schema true" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 524 - not.json: "forbid everything with boolean schema true" - "boolean true is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 525 - not.json: "forbid everything with boolean schema true" - "boolean false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 526 - not.json: "forbid everything with boolean schema true" - "null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 527 - not.json: "forbid everything with boolean schema true" - "object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 528 - not.json: "forbid everything with boolean schema true" - "empty object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 529 - not.json: "forbid everything with boolean schema true" - "array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 530 - not.json: "forbid everything with boolean schema true" - "empty array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is true",
    #       "instanceLocation": "",
    #       "keywordLocation": "/not"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 531 - not.json: "allow everything with boolean schema false" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 532 - not.json: "allow everything with boolean schema false" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 533 - not.json: "allow everything with boolean schema false" - "boolean true is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 534 - not.json: "allow everything with boolean schema false" - "boolean false is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 535 - not.json: "allow everything with boolean schema false" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 536 - not.json: "allow everything with boolean schema false" - "object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 537 - not.json: "allow everything with boolean schema false" - "empty object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 538 - not.json: "allow everything with boolean schema false" - "array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 539 - not.json: "allow everything with boolean schema false" - "empty array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 540 - not.json: "double negation" - "any value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 541 - oneOf.json: "oneOf" - "first oneOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 542 - oneOf.json: "oneOf" - "second oneOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 543 - oneOf.json: "oneOf" - "both oneOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 544 - oneOf.json: "oneOf" - "neither oneOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/type"
    #     },
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/minimum"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/type"
    #     },
    #     {
    #       "error": "value is less than 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/minimum"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 545 - oneOf.json: "oneOf with base schema" - "mismatch base schema" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     },
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 546 - oneOf.json: "oneOf with base schema" - "one oneOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 547 - oneOf.json: "oneOf with base schema" - "both oneOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 548 - oneOf.json: "oneOf with boolean schemas, all true" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1, 2",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 549 - oneOf.json: "oneOf with boolean schemas, one true" - "any value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 550 - oneOf.json: "oneOf with boolean schemas, more than one true" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 551 - oneOf.json: "oneOf with boolean schemas, all false" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/2"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1"
    #     },
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/2"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 552 - oneOf.json: "oneOf complex types" - "first oneOf valid (complex)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 553 - oneOf.json: "oneOf complex types" - "second oneOf valid (complex)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 554 - oneOf.json: "oneOf complex types" - "both oneOf valid (complex)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 555 - oneOf.json: "oneOf complex types" - "neither oneOf valid (complex)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/oneOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/properties"
    #     },
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/oneOf/1/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/properties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/oneOf/0/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/properties"
    #     },
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/oneOf/1/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/properties"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 556 - oneOf.json: "oneOf with empty schema" - "one valid - valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 557 - oneOf.json: "oneOf with empty schema" - "both valid - invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 558 - oneOf.json: "oneOf with required" - "both invalid - invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/required"
    #     },
    #     {
    #       "error": "object is missing properties: foo, baz",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/required"
    #     },
    #     {
    #       "error": "object is missing properties: foo, baz",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 559 - oneOf.json: "oneOf with required" - "first valid - valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 560 - oneOf.json: "oneOf with required" - "second valid - valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 561 - oneOf.json: "oneOf with required" - "both valid - invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 562 - oneOf.json: "oneOf with missing optional property" - "first oneOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 563 - oneOf.json: "oneOf with missing optional property" - "second oneOf valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 564 - oneOf.json: "oneOf with missing optional property" - "both oneOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "multiple subschemas are valid: 0, 1",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 565 - oneOf.json: "oneOf with missing optional property" - "neither oneOf valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/required"
    #     },
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/required"
    #     },
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/1/required"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 566 - oneOf.json: "nested oneOf, to check validation semantics" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 567 - oneOf.json: "nested oneOf, to check validation semantics" - "anything non-null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/oneOf/0/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/oneOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/oneOf/0/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf/0/oneOf"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/oneOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 568 - pattern.json: "pattern validation" - "a matching pattern is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 569 - pattern.json: "pattern validation" - "a non-matching pattern is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 570 - pattern.json: "pattern validation" - "ignores booleans" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 571 - pattern.json: "pattern validation" - "ignores integers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 572 - pattern.json: "pattern validation" - "ignores floats" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 573 - pattern.json: "pattern validation" - "ignores objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 574 - pattern.json: "pattern validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 575 - pattern.json: "pattern validation" - "ignores null" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 576 - pattern.json: "pattern is not anchored" - "matches a substring" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 577 - patternProperties.json: "patternProperties validates properties matching a regex" - "a single valid match is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 578 - patternProperties.json: "patternProperties validates properties matching a regex" - "multiple valid matches is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 579 - patternProperties.json: "patternProperties validates properties matching a regex" - "a single invalid match is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.*o/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.*o/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 580 - patternProperties.json: "patternProperties validates properties matching a regex" - "multiple invalid matches is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.*o/type"
    #     },
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foooooo",
    #       "keywordLocation": "/patternProperties/f.*o/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.*o/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 581 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 582 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 583 - patternProperties.json: "patternProperties validates properties matching a regex" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 584 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "a single valid match is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 585 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "a simultaneous match is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 586 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "multiple matches is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 587 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to one is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/a",
    #       "keywordLocation": "/patternProperties/a*/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/a",
    #       "keywordLocation": "/patternProperties/a*/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 588 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to the other is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 20",
    #       "instanceLocation": "/aaaa",
    #       "keywordLocation": "/patternProperties/aaa*/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than 20",
    #       "instanceLocation": "/aaaa",
    #       "keywordLocation": "/patternProperties/aaa*/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 589 - patternProperties.json: "multiple simultaneous patternProperties are validated" - "an invalid due to both is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/aaa",
    #       "keywordLocation": "/patternProperties/a*/type"
    #     },
    #     {
    #       "error": "value is greater than 20",
    #       "instanceLocation": "/aaaa",
    #       "keywordLocation": "/patternProperties/aaa*/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/aaa",
    #       "keywordLocation": "/patternProperties/a*/type"
    #     },
    #     {
    #       "error": "value is greater than 20",
    #       "instanceLocation": "/aaaa",
    #       "keywordLocation": "/patternProperties/aaa*/maximum"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 590 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "non recognized members are ignored" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 591 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "recognized members are accounted for" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not boolean",
    #       "instanceLocation": "/a31b",
    #       "keywordLocation": "/patternProperties/[0-9]{2,}/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not boolean",
    #       "instanceLocation": "/a31b",
    #       "keywordLocation": "/patternProperties/[0-9]{2,}/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 592 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "regexes are case sensitive" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 593 - patternProperties.json: "regexes are not anchored by default and are case sensitive" - "regexes are case sensitive, 2" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/a_X_3",
    #       "keywordLocation": "/patternProperties/X_/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/a_X_3",
    #       "keywordLocation": "/patternProperties/X_/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 594 - patternProperties.json: "patternProperties with boolean schemas" - "object with property matching schema true is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 595 - patternProperties.json: "patternProperties with boolean schemas" - "object with property matching schema false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/patternProperties/b.*"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/patternProperties/b.*"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 596 - patternProperties.json: "patternProperties with boolean schemas" - "object with both properties is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/patternProperties/b.*"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/patternProperties/b.*"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 597 - patternProperties.json: "patternProperties with boolean schemas" - "object with a property matching both true and false is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/foobar",
    #       "keywordLocation": "/patternProperties/b.*"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/foobar",
    #       "keywordLocation": "/patternProperties/b.*"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 598 - patternProperties.json: "patternProperties with boolean schemas" - "empty object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 599 - patternProperties.json: "patternProperties with null valued instance properties" - "allows null values" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 600 - properties.json: "object properties validation" - "both properties present and valid is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 601 - properties.json: "object properties validation" - "one property invalid is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 602 - properties.json: "object properties validation" - "both properties invalid is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/type"
    #     },
    #     {
    #       "error": "got array, not integer",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 603 - properties.json: "object properties validation" - "doesn't invalidate other properties" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 604 - properties.json: "object properties validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 605 - properties.json: "object properties validation" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 606 - properties.json: "properties, patternProperties, additionalProperties interaction" - "property validates property" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 607 - properties.json: "properties, patternProperties, additionalProperties interaction" - "property invalidates property" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 3 items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/maxItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has more than 3 items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/maxItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 608 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty invalidates property" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.o/minItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/patternProperties/f.o/minItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 609 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty validates nonproperty" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 610 - properties.json: "properties, patternProperties, additionalProperties interaction" - "patternProperty invalidates nonproperty" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "/fxo",
    #       "keywordLocation": "/patternProperties/f.o/minItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "array has fewer than 2 items",
    #       "instanceLocation": "/fxo",
    #       "keywordLocation": "/patternProperties/f.o/minItems"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 611 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty ignores property" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 612 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty validates others" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 613 - properties.json: "properties, patternProperties, additionalProperties interaction" - "additionalProperty invalidates others" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/quux",
    #       "keywordLocation": "/additionalProperties/type"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 614 - properties.json: "properties with boolean schema" - "no property present is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 615 - properties.json: "properties with boolean schema" - "only 'true' property present is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 616 - properties.json: "properties with boolean schema" - "only 'false' property present is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 617 - properties.json: "properties with boolean schema" - "both properties present is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 618 - properties.json: "properties with escaped characters" - "object with all numbers is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 619 - properties.json: "properties with escaped characters" - "object with strings is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\tbar",
    #       "keywordLocation": "/properties/foo\tbar/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\nbar",
    #       "keywordLocation": "/properties/foo\nbar/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\fbar",
    #       "keywordLocation": "/properties/foo\fbar/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\rbar",
    #       "keywordLocation": "/properties/foo\rbar/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\"bar",
    #       "keywordLocation": "/properties/foo\"bar/type"
    #     },
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\\bar",
    #       "keywordLocation": "/properties/foo\\bar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\tbar",
    #       "keywordLocation": "/properties/foo\tbar/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 620 - properties.json: "properties with null valued instance properties" - "allows null values" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 621 - properties.json: "properties whose names are Javascript object property names" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 622 - properties.json: "properties whose names are Javascript object property names" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 623 - properties.json: "properties whose names are Javascript object property names" - "none of the properties mentioned" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 624 - properties.json: "properties whose names are Javascript object property names" - "__proto__ not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/__proto__",
    #       "keywordLocation": "/properties/__proto__/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "/__proto__",
    #       "keywordLocation": "/properties/__proto__/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 625 - properties.json: "properties whose names are Javascript object property names" - "toString not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/toString/length",
    #       "keywordLocation": "/properties/toString/properties/length/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/toString",
    #       "keywordLocation": "/properties/toString/properties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/toString/length",
    #       "keywordLocation": "/properties/toString/properties/length/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/toString",
    #       "keywordLocation": "/properties/toString/properties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 626 - properties.json: "properties whose names are Javascript object property names" - "constructor not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not number",
    #       "instanceLocation": "/constructor",
    #       "keywordLocation": "/properties/constructor/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not number",
    #       "instanceLocation": "/constructor",
    #       "keywordLocation": "/properties/constructor/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 627 - properties.json: "properties whose names are Javascript object property names" - "all present and valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 628 - propertyNames.json: "propertyNames validation" - "all property names valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 629 - propertyNames.json: "propertyNames validation" - "some property names invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 3",
    #       "instanceLocation": "/foobar",
    #       "keywordLocation": "/propertyNames/maxLength"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "length is greater than 3",
    #       "instanceLocation": "/foobar",
    #       "keywordLocation": "/propertyNames/maxLength"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 630 - propertyNames.json: "propertyNames validation" - "object without properties is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 631 - propertyNames.json: "propertyNames validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 632 - propertyNames.json: "propertyNames validation" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 633 - propertyNames.json: "propertyNames validation" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 634 - propertyNames.json: "propertyNames validation with pattern" - "matching property names valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 635 - propertyNames.json: "propertyNames validation with pattern" - "non-matching property name is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "/aaA",
    #       "keywordLocation": "/propertyNames/pattern"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "/aaA",
    #       "keywordLocation": "/propertyNames/pattern"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 636 - propertyNames.json: "propertyNames validation with pattern" - "object without properties is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 637 - propertyNames.json: "propertyNames with boolean schema true" - "object with any properties is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 638 - propertyNames.json: "propertyNames with boolean schema true" - "empty object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 639 - propertyNames.json: "propertyNames with boolean schema false" - "object with any properties is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "subschema is false",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/propertyNames"
    #     },
    #     {
    #       "error": "not all property names are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/propertyNames"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 640 - propertyNames.json: "propertyNames with boolean schema false" - "empty object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 641 - ref.json: "root pointer ref" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 642 - ref.json: "root pointer ref" - "recursive match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 643 - ref.json: "root pointer ref" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 644 - ref.json: "root pointer ref" - "recursive mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/additionalProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/$ref/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/additionalProperties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/additionalProperties",
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/$ref/additionalProperties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/additionalProperties",
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/additionalProperties"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 645 - ref.json: "relative pointer ref to object" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 646 - ref.json: "relative pointer ref to object" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/properties/foo/type",
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/properties/foo/type",
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/properties/bar/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 647 - ref.json: "relative pointer ref to array" - "match array" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 648 - ref.json: "relative pointer ref to array" - "mismatch array" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/items/0/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/1/$ref/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/items/0/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/1",
    #       "keywordLocation": "/items/1/$ref/type"
    #     },
    #     {
    #       "error": "not all items are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 649 - ref.json: "escaped pointer ref" - "slash invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/slash~1field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/slash",
    #       "keywordLocation": "/properties/slash/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/slash~1field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/slash",
    #       "keywordLocation": "/properties/slash/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 650 - ref.json: "escaped pointer ref" - "tilde invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/tilde~0field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/tilde",
    #       "keywordLocation": "/properties/tilde/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/tilde~0field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/tilde",
    #       "keywordLocation": "/properties/tilde/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 651 - ref.json: "escaped pointer ref" - "percent invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/percent%25field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/percent",
    #       "keywordLocation": "/properties/percent/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/percent%25field/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/percent",
    #       "keywordLocation": "/properties/percent/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 652 - ref.json: "escaped pointer ref" - "slash valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 653 - ref.json: "escaped pointer ref" - "tilde valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 654 - ref.json: "escaped pointer ref" - "percent valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 655 - ref.json: "nested refs" - "nested ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 656 - ref.json: "nested refs" - "nested ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/a/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/$ref/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/a/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/$ref/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 657 - ref.json: "ref overrides any sibling keywords" - "ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 658 - ref.json: "ref overrides any sibling keywords" - "ref valid, maxItems ignored" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 659 - ref.json: "ref overrides any sibling keywords" - "ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/reffed/type",
    #       "error": "got string, not array",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/reffed/type",
    #       "error": "got string, not array",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 660 - ref.json: "$ref prevents a sibling $id from changing the base uri" - "$ref resolves to /definitions/base_foo, data does not validate" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/sibling_id/base/foo.json#/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/sibling_id/base/#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/sibling_id/base/foo.json#/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/sibling_id/base/#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 661 - ref.json: "$ref prevents a sibling $id from changing the base uri" - "$ref resolves to /definitions/base_foo, data validates" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 662 - ref.json: "remote ref, containing refs itself" - "remote ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 663 - ref.json: "remote ref, containing refs itself" - "remote ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/definitions/nonNegativeInteger/minimum",
    #       "error": "value is less than 0",
    #       "instanceLocation": "/minLength",
    #       "keywordLocation": "/$ref/properties/minLength/$ref/allOf/0/$ref/minimum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/definitions/nonNegativeIntegerDefault0/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "/minLength",
    #       "keywordLocation": "/$ref/properties/minLength/$ref/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/definitions/nonNegativeInteger/minimum",
    #       "error": "value is less than 0",
    #       "instanceLocation": "/minLength",
    #       "keywordLocation": "/$ref/properties/minLength/$ref/allOf/0/$ref/minimum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/definitions/nonNegativeIntegerDefault0/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "/minLength",
    #       "keywordLocation": "/$ref/properties/minLength/$ref/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://json-schema.org/draft-07/schema#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 664 - ref.json: "property named $ref that is not a reference" - "property named $ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 665 - ref.json: "property named $ref that is not a reference" - "property named $ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/$ref",
    #       "keywordLocation": "/properties/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "/$ref",
    #       "keywordLocation": "/properties/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 666 - ref.json: "property named $ref, containing an actual $ref" - "property named $ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 667 - ref.json: "property named $ref, containing an actual $ref" - "property named $ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/is-string/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/$ref",
    #       "keywordLocation": "/properties/$ref/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/is-string/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/$ref",
    #       "keywordLocation": "/properties/$ref/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 668 - ref.json: "$ref to boolean schema true" - "any value is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 669 - ref.json: "$ref to boolean schema false" - "any value is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/bool",
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/bool",
    #       "error": "subschema is false",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 670 - ref.json: "Recursive references between schemas" - "valid tree" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 671 - ref.json: "Recursive references between schemas" - "invalid tree" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/node#/properties/value/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "/nodes/0/subtree/nodes/0/value",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties/value/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/node#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0/subtree/nodes/0",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/tree#/properties/nodes/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/nodes/0/subtree/nodes",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/tree#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0/subtree",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/node#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/tree#/properties/nodes/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/nodes",
    #       "keywordLocation": "/properties/nodes/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/tree#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/node#/properties/value/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "/nodes/0/subtree/nodes/0/value",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties/value/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/node#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0/subtree/nodes/0",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/tree#/properties/nodes/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/nodes/0/subtree/nodes",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties/nodes/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/tree#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0/subtree",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties/subtree/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/node#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/nodes/0",
    #       "keywordLocation": "/properties/nodes/items/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/tree#/properties/nodes/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/nodes",
    #       "keywordLocation": "/properties/nodes/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/tree#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 672 - ref.json: "refs with quote" - "object with numbers is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 673 - ref.json: "refs with quote" - "object with strings is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/foo%22bar/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\"bar",
    #       "keywordLocation": "/properties/foo\"bar/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/foo%22bar/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "/foo\"bar",
    #       "keywordLocation": "/properties/foo\"bar/$ref/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 674 - ref.json: "Location-independent identifier" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 675 - ref.json: "Location-independent identifier" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 676 - ref.json: "Reference an anchor with a non-relative URI" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 677 - ref.json: "Reference an anchor with a non-relative URI" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://example.com/schema-with-anchor#/definitions/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://example.com/schema-with-anchor#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "https://example.com/schema-with-anchor#/definitions/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://example.com/schema-with-anchor#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 678 - ref.json: "Location-independent identifier with base URI change in subschema" - "match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 679 - ref.json: "Location-independent identifier with base URI change in subschema" - "mismatch" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/nested.json#/definitions/B/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/root#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/nested.json#/definitions/B/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/root#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 680 - ref.json: "naive replacement of $ref with its destination is not correct" - "do not evaluate the $ref inside the enum, matching any string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 681 - ref.json: "naive replacement of $ref with its destination is not correct" - "do not evaluate the $ref inside the enum, definition exact match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/enum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 682 - ref.json: "naive replacement of $ref with its destination is not correct" - "match the enum exactly" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 683 - ref.json: "refs with relative uris and defs" - "invalid on inner field" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/allOf/0/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/allOf/0/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/allOf/0/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/allOf/0/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 684 - ref.json: "refs with relative uris and defs" - "invalid on outer field" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/definitions/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs2.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-relative-uri-defs1.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 685 - ref.json: "refs with relative uris and defs" - "valid on both fields" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 686 - ref.json: "relative refs with absolute uris and defs" - "invalid on inner field" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/allOf/0/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/allOf/0/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo/bar",
    #       "keywordLocation": "/properties/foo/allOf/0/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/allOf/0/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 687 - ref.json: "relative refs with absolute uris and defs" - "invalid on outer field" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/definitions/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs2.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/schema-refs-absolute-uris-defs1.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 688 - ref.json: "relative refs with absolute uris and defs" - "valid on both fields" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 689 - ref.json: "$id must be resolved against nearest parent, not just immediate parent" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 690 - ref.json: "$id must be resolved against nearest parent, not just immediate parent" - "non-number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/b/d.json#/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/a.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/b/d.json#/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/a.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 691 - ref.json: "simple URN base URI with $ref via the URN" - "valid under the URN IDed schema" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 692 - ref.json: "simple URN base URI with $ref via the URN" - "invalid under the URN IDed schema" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/minimum",
    #       "error": "value is less than 30",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/minimum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/minimum",
    #       "error": "value is less than 30",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/minimum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ffff-ffff-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 693 - ref.json: "simple URN base URI with JSON pointer" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 694 - ref.json: "simple URN base URI with JSON pointer" - "a non-string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/definitions/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/definitions/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-00ff-ff00-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 695 - ref.json: "URN base URI with NSS" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 696 - ref.json: "URN base URI with NSS" - "a non-string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:example:1/406/47452/2#/definitions/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:example:1/406/47452/2#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:example:1/406/47452/2#/definitions/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:example:1/406/47452/2#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 697 - ref.json: "URN base URI with r-component" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 698 - ref.json: "URN base URI with r-component" - "a non-string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/definitions/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/definitions/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:example:foo-bar-baz-qux?+CCResolve:cc=uk#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 699 - ref.json: "URN base URI with q-component" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 700 - ref.json: "URN base URI with q-component" - "a non-string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/definitions/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/definitions/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:example:weather?=op=map&lat=39.56&lon=-104.85&datetime=1969-07-21T02:56:15Z#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 701 - ref.json: "URN base URI with URN and JSON pointer ref" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 702 - ref.json: "URN base URI with URN and JSON pointer ref" - "a non-string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/definitions/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/definitions/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-0000-0000-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 703 - ref.json: "URN base URI with URN and anchor ref" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 704 - ref.json: "URN base URI with URN and anchor ref" - "a non-string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/definitions/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/definitions/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/foo",
    #       "keywordLocation": "/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "urn:uuid:deadbeef-1234-ff00-00ff-4321feebdaed#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 705 - ref.json: "ref to if" - "a non-integer is invalid due to the $ref" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/ref/if#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/ref/if#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 706 - ref.json: "ref to if" - "an integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 707 - ref.json: "ref to then" - "a non-integer is invalid due to the $ref" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/ref/then#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/ref/then#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 708 - ref.json: "ref to then" - "an integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 709 - ref.json: "ref to else" - "a non-integer is invalid due to the $ref" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/ref/else#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/ref/else#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 710 - ref.json: "ref to else" - "an integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 711 - ref.json: "ref with absolute-path-reference" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 712 - ref.json: "ref with absolute-path-reference" - "an integer is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/absref/foobar.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/ref/absref.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://example.com/absref/foobar.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://example.com/ref/absref.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 713 - ref.json: "$id with file URI still resolves pointers - *nix" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 714 - ref.json: "$id with file URI still resolves pointers - *nix" - "non-number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "file:///folder/file.json#/definitions/foo/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "file:///folder/file.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "file:///folder/file.json#/definitions/foo/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "file:///folder/file.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 715 - ref.json: "$id with file URI still resolves pointers - windows" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 716 - ref.json: "$id with file URI still resolves pointers - windows" - "non-number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "file:///c:/folder/file.json#/definitions/foo/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "file:///c:/folder/file.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "file:///c:/folder/file.json#/definitions/foo/type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "file:///c:/folder/file.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 717 - ref.json: "empty tokens in $ref json-pointer" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 718 - ref.json: "empty tokens in $ref json-pointer" - "non-number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions//definitions//type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions//definitions//type",
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/type"
    #     },
    #     {
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 719 - refRemote.json: "remote ref" - "remote ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 720 - refRemote.json: "remote ref" - "remote ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/integer.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 721 - refRemote.json: "fragment within remote ref" - "remote fragment valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 722 - refRemote.json: "fragment within remote ref" - "remote fragment invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft7/subSchemas.json#/definitions/integer/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft7/subSchemas.json#/definitions/integer/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 723 - refRemote.json: "ref within remote ref" - "ref within ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 724 - refRemote.json: "ref within remote ref" - "ref within ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft7/subSchemas.json#/definitions/integer/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft7/subSchemas.json#/definitions/integer/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 725 - refRemote.json: "base URI change" - "base URI change ref valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 726 - refRemote.json: "base URI change" - "base URI change ref invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChange/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChange/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChange/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/0/0",
    #       "keywordLocation": "/items/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChange/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/0",
    #       "keywordLocation": "/items/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/items"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 727 - refRemote.json: "base URI change - change folder" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 728 - refRemote.json: "base URI change - change folder" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolder/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/properties/list/$ref/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolder/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/properties/list/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs1.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolder/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/properties/list/$ref/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolder/#/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/properties/list/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs1.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 729 - refRemote.json: "base URI change - change folder in subschema" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 730 - refRemote.json: "base URI change - change folder in subschema" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/properties/list/$ref/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/definitions/bar/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/properties/list/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs2.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/folderInteger.json#/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "/list/0",
    #       "keywordLocation": "/properties/list/$ref/items/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/baseUriChangeFolderInSubschema/#/definitions/bar/items",
    #       "error": "subschema is not valid against all items",
    #       "instanceLocation": "/list",
    #       "keywordLocation": "/properties/list/$ref/items"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/scope_change_defs2.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 731 - refRemote.json: "root ref in remote ref" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 732 - refRemote.json: "root ref in remote ref" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 733 - refRemote.json: "root ref in remote ref" - "object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft7/name.json#/definitions/orNull/anyOf/0/type",
    #       "error": "got object, not null",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft7/name.json#/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf/1/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft7/name.json#/definitions/orNull/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/object#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft7/name.json#/definitions/orNull/anyOf/0/type",
    #       "error": "got object, not null",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf/0/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft7/name.json#/type",
    #       "error": "got object, not string",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf/1/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft7/name.json#/definitions/orNull/anyOf",
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/anyOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/object#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 734 - refRemote.json: "remote ref with ref to definitions" - "invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft7/ref-and-definitions.json#/definitions/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft7/ref-and-definitions.json#/definitions/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft7/ref-and-definitions.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/schema-remote-ref-ref-defs1.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft7/ref-and-definitions.json#/definitions/inner/properties/bar/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/bar",
    #       "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties/bar/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft7/ref-and-definitions.json#/definitions/inner/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/allOf/0/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft7/ref-and-definitions.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/0/$ref/allOf"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/schema-remote-ref-ref-defs1.json#/allOf",
    #       "error": "subschema 0 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 735 - refRemote.json: "remote ref with ref to definitions" - "valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 736 - refRemote.json: "Location-independent identifier in remote ref" - "integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 737 - refRemote.json: "Location-independent identifier in remote ref" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft7/locationIndependentIdentifier.json#/definitions/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft7/locationIndependentIdentifier.json#/definitions/A/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 738 - refRemote.json: "retrieved nested refs resolve relative to their URI not $id" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/name/foo",
    #       "keywordLocation": "/properties/name/$ref/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/nested/foo-ref-string.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/some-id#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/nested/string.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "/name/foo",
    #       "keywordLocation": "/properties/name/$ref/properties/foo/$ref/type"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/nested/foo-ref-string.json#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "/name",
    #       "keywordLocation": "/properties/name/$ref/properties"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/some-id#/properties",
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/properties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 739 - refRemote.json: "retrieved nested refs resolve relative to their URI not $id" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 740 - refRemote.json: "$ref to $ref finds location-independent $id" - "number is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 741 - refRemote.json: "$ref to $ref finds location-independent $id" - "non-number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft7/detached-ref.json#/definitions/detached/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft7/detached-ref.json#/definitions/detached/type",
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/$ref/$ref/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 742 - required.json: "required validation" - "present required property is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 743 - required.json: "required validation" - "non-present required property is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing property: foo",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 744 - required.json: "required validation" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 745 - required.json: "required validation" - "ignores strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 746 - required.json: "required validation" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 747 - required.json: "required default validation" - "not required by default" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 748 - required.json: "required with empty array" - "property not required" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 749 - required.json: "required with escaped characters" - "object with all properties present is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 750 - required.json: "required with escaped characters" - "object with some properties missing is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: foo\\bar, foo\rbar, foo\tbar, foo\fbar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: foo\\bar, foo\rbar, foo\tbar, foo\fbar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 751 - required.json: "required properties whose names are Javascript object property names" - "ignores arrays" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 752 - required.json: "required properties whose names are Javascript object property names" - "ignores other non-objects" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 753 - required.json: "required properties whose names are Javascript object property names" - "none of the properties mentioned" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, toString, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, toString, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 754 - required.json: "required properties whose names are Javascript object property names" - "__proto__ present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: toString, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: toString, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 755 - required.json: "required properties whose names are Javascript object property names" - "toString present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, constructor",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 756 - required.json: "required properties whose names are Javascript object property names" - "constructor present" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, toString",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "object is missing properties: __proto__, toString",
    #       "instanceLocation": "",
    #       "keywordLocation": "/required"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 757 - required.json: "required properties whose names are Javascript object property names" - "all present" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 758 - type.json: "integer type matches integers" - "an integer is an integer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 759 - type.json: "integer type matches integers" - "a float with zero fractional part is an integer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 760 - type.json: "integer type matches integers" - "a float is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 761 - type.json: "integer type matches integers" - "a string is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 762 - type.json: "integer type matches integers" - "a string is still not an integer, even if it looks like one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 763 - type.json: "integer type matches integers" - "an object is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 764 - type.json: "integer type matches integers" - "an array is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 765 - type.json: "integer type matches integers" - "a boolean is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 766 - type.json: "integer type matches integers" - "null is not an integer" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not integer",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 767 - type.json: "number type matches numbers" - "an integer is a number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 768 - type.json: "number type matches numbers" - "a float with zero fractional part is a number (and an integer)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 769 - type.json: "number type matches numbers" - "a float is a number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 770 - type.json: "number type matches numbers" - "a string is not a number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 771 - type.json: "number type matches numbers" - "a string is still not a number, even if it looks like one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 772 - type.json: "number type matches numbers" - "an object is not a number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 773 - type.json: "number type matches numbers" - "an array is not a number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 774 - type.json: "number type matches numbers" - "a boolean is not a number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 775 - type.json: "number type matches numbers" - "null is not a number" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not number",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 776 - type.json: "string type matches strings" - "1 is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 777 - type.json: "string type matches strings" - "a float is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 778 - type.json: "string type matches strings" - "a string is a string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 779 - type.json: "string type matches strings" - "a string is still a string, even if it looks like a number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 780 - type.json: "string type matches strings" - "an empty string is still a string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 781 - type.json: "string type matches strings" - "an object is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 782 - type.json: "string type matches strings" - "an array is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 783 - type.json: "string type matches strings" - "a boolean is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 784 - type.json: "string type matches strings" - "null is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 785 - type.json: "object type matches objects" - "an integer is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 786 - type.json: "object type matches objects" - "a float is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 787 - type.json: "object type matches objects" - "a string is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 788 - type.json: "object type matches objects" - "an object is an object" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 789 - type.json: "object type matches objects" - "an array is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 790 - type.json: "object type matches objects" - "a boolean is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 791 - type.json: "object type matches objects" - "null is not an object" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 792 - type.json: "array type matches arrays" - "an integer is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 793 - type.json: "array type matches arrays" - "a float is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 794 - type.json: "array type matches arrays" - "a string is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 795 - type.json: "array type matches arrays" - "an object is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 796 - type.json: "array type matches arrays" - "an array is an array" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 797 - type.json: "array type matches arrays" - "a boolean is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 798 - type.json: "array type matches arrays" - "null is not an array" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not array",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 799 - type.json: "boolean type matches booleans" - "an integer is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 800 - type.json: "boolean type matches booleans" - "zero is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 801 - type.json: "boolean type matches booleans" - "a float is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 802 - type.json: "boolean type matches booleans" - "a string is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 803 - type.json: "boolean type matches booleans" - "an empty string is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 804 - type.json: "boolean type matches booleans" - "an object is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 805 - type.json: "boolean type matches booleans" - "an array is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 806 - type.json: "boolean type matches booleans" - "true is a boolean" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 807 - type.json: "boolean type matches booleans" - "false is a boolean" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 808 - type.json: "boolean type matches booleans" - "null is not a boolean" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not boolean",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 809 - type.json: "null type matches only the null object" - "an integer is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 810 - type.json: "null type matches only the null object" - "a float is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 811 - type.json: "null type matches only the null object" - "zero is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 812 - type.json: "null type matches only the null object" - "a string is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 813 - type.json: "null type matches only the null object" - "an empty string is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 814 - type.json: "null type matches only the null object" - "an object is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 815 - type.json: "null type matches only the null object" - "an array is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 816 - type.json: "null type matches only the null object" - "true is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 817 - type.json: "null type matches only the null object" - "false is not null" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 818 - type.json: "null type matches only the null object" - "null is null" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 819 - type.json: "multiple types can be specified in an array" - "an integer is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 820 - type.json: "multiple types can be specified in an array" - "a string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 821 - type.json: "multiple types can be specified in an array" - "a float is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got number, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got number, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 822 - type.json: "multiple types can be specified in an array" - "an object is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got object, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got object, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 823 - type.json: "multiple types can be specified in an array" - "an array is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got array, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got array, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 824 - type.json: "multiple types can be specified in an array" - "a boolean is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got boolean, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 825 - type.json: "multiple types can be specified in an array" - "null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not one of integer, string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 826 - type.json: "type as array with one item" - "string is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 827 - type.json: "type as array with one item" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 828 - type.json: "type: array or object" - "array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 829 - type.json: "type: array or object" - "object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 830 - type.json: "type: array or object" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 831 - type.json: "type: array or object" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 832 - type.json: "type: array or object" - "null is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got null, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got null, not one of array, object",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 833 - type.json: "type: array, object or null" - "array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 834 - type.json: "type: array, object or null" - "object is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 835 - type.json: "type: array, object or null" - "null is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 836 - type.json: "type: array, object or null" - "number is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of array, object, null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not one of array, object, null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 837 - type.json: "type: array, object or null" - "string is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not one of array, object, null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not one of array, object, null",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 838 - uniqueItems.json: "uniqueItems validation" - "unique array of integers is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 839 - uniqueItems.json: "uniqueItems validation" - "non-unique array of integers is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 840 - uniqueItems.json: "uniqueItems validation" - "non-unique array of more than two integers is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 841 - uniqueItems.json: "uniqueItems validation" - "numbers are unique if mathematically unequal" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 842 - uniqueItems.json: "uniqueItems validation" - "false is not equal to zero" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 843 - uniqueItems.json: "uniqueItems validation" - "true is not equal to one" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 844 - uniqueItems.json: "uniqueItems validation" - "unique array of strings is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 845 - uniqueItems.json: "uniqueItems validation" - "non-unique array of strings is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 846 - uniqueItems.json: "uniqueItems validation" - "unique array of objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 847 - uniqueItems.json: "uniqueItems validation" - "non-unique array of objects is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 848 - uniqueItems.json: "uniqueItems validation" - "property order of array of objects is ignored" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 849 - uniqueItems.json: "uniqueItems validation" - "unique array of nested objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 850 - uniqueItems.json: "uniqueItems validation" - "non-unique array of nested objects is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 851 - uniqueItems.json: "uniqueItems validation" - "unique array of arrays is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 852 - uniqueItems.json: "uniqueItems validation" - "non-unique array of arrays is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 853 - uniqueItems.json: "uniqueItems validation" - "non-unique array of more than two arrays is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 2 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 854 - uniqueItems.json: "uniqueItems validation" - "1 and true are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 855 - uniqueItems.json: "uniqueItems validation" - "0 and false are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 856 - uniqueItems.json: "uniqueItems validation" - "[1] and [true] are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 857 - uniqueItems.json: "uniqueItems validation" - "[0] and [false] are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 858 - uniqueItems.json: "uniqueItems validation" - "nested [1] and [true] are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 859 - uniqueItems.json: "uniqueItems validation" - "nested [0] and [false] are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 860 - uniqueItems.json: "uniqueItems validation" - "unique heterogeneous types are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 861 - uniqueItems.json: "uniqueItems validation" - "non-unique heterogeneous types are invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 4 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 4 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 862 - uniqueItems.json: "uniqueItems validation" - "different objects are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 863 - uniqueItems.json: "uniqueItems validation" - "objects are non-unique despite key order" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 864 - uniqueItems.json: "uniqueItems validation" - "{"a": false} and {"a": 0} are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 865 - uniqueItems.json: "uniqueItems validation" - "{"a": true} and {"a": 1} are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 866 - uniqueItems.json: "uniqueItems with an array of items" - "[false, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 867 - uniqueItems.json: "uniqueItems with an array of items" - "[true, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 868 - uniqueItems.json: "uniqueItems with an array of items" - "[false, false] from items array is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 869 - uniqueItems.json: "uniqueItems with an array of items" - "[true, true] from items array is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 870 - uniqueItems.json: "uniqueItems with an array of items" - "unique array extended from [false, true] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 871 - uniqueItems.json: "uniqueItems with an array of items" - "unique array extended from [true, false] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 872 - uniqueItems.json: "uniqueItems with an array of items" - "non-unique array extended from [false, true] is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 2 and 3 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 2 and 3 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 873 - uniqueItems.json: "uniqueItems with an array of items" - "non-unique array extended from [true, false] is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 2 and 3 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 2 and 3 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 874 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[false, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 875 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[true, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 876 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[false, false] from items array is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 877 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "[true, true] from items array is not valid" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "items at indices 0 and 1 are not unique",
    #       "instanceLocation": "",
    #       "keywordLocation": "/uniqueItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 878 - uniqueItems.json: "uniqueItems with an array of items and additionalItems=false" - "extra items are invalid even if unique" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 879 - uniqueItems.json: "uniqueItems=false validation" - "unique array of integers is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 880 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of integers is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 881 - uniqueItems.json: "uniqueItems=false validation" - "numbers are unique if mathematically unequal" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 882 - uniqueItems.json: "uniqueItems=false validation" - "false is not equal to zero" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 883 - uniqueItems.json: "uniqueItems=false validation" - "true is not equal to one" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 884 - uniqueItems.json: "uniqueItems=false validation" - "unique array of objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 885 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 886 - uniqueItems.json: "uniqueItems=false validation" - "unique array of nested objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 887 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of nested objects is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 888 - uniqueItems.json: "uniqueItems=false validation" - "unique array of arrays is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 889 - uniqueItems.json: "uniqueItems=false validation" - "non-unique array of arrays is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 890 - uniqueItems.json: "uniqueItems=false validation" - "1 and true are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 891 - uniqueItems.json: "uniqueItems=false validation" - "0 and false are unique" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 892 - uniqueItems.json: "uniqueItems=false validation" - "unique heterogeneous types are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 893 - uniqueItems.json: "uniqueItems=false validation" - "non-unique heterogeneous types are valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 894 - uniqueItems.json: "uniqueItems=false with an array of items" - "[false, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 895 - uniqueItems.json: "uniqueItems=false with an array of items" - "[true, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 896 - uniqueItems.json: "uniqueItems=false with an array of items" - "[false, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 897 - uniqueItems.json: "uniqueItems=false with an array of items" - "[true, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 898 - uniqueItems.json: "uniqueItems=false with an array of items" - "unique array extended from [false, true] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 899 - uniqueItems.json: "uniqueItems=false with an array of items" - "unique array extended from [true, false] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 900 - uniqueItems.json: "uniqueItems=false with an array of items" - "non-unique array extended from [false, true] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 901 - uniqueItems.json: "uniqueItems=false with an array of items" - "non-unique array extended from [true, false] is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 902 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[false, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 903 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[true, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 904 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[false, false] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 905 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "[true, true] from items array is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 906 - uniqueItems.json: "uniqueItems=false with an array of items and additionalItems=false" - "extra items are invalid even if unique" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional item not permitted",
    #       "instanceLocation": "/2",
    #       "keywordLocation": "/additionalItems"
    #     },
    #     {
    #       "error": "subschema is not valid against all additional items",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalItems"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 907 - optional/bignum.json: "integer" - "a bignum is an integer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 908 - optional/bignum.json: "integer" - "a negative bignum is an integer" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 909 - optional/bignum.json: "number" - "a bignum is a number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 910 - optional/bignum.json: "number" - "a negative bignum is a number" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 911 - optional/bignum.json: "string" - "a bignum is not a string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/type"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 912 - optional/bignum.json: "maximum integer comparison" - "comparison works for high numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 913 - optional/bignum.json: "float comparison with high precision" - "comparison works for high numbers" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 972783798187987123879878123.18878137",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is greater than or equal to 972783798187987123879878123.18878137",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMaximum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 914 - optional/bignum.json: "minimum integer comparison" - "comparison works for very negative numbers" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 915 - optional/bignum.json: "float comparison with high precision on negative numbers" - "comparison works for very negative numbers" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to -972783798187987123879878123.18878137",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "value is less than or equal to -972783798187987123879878123.18878137",
    #       "instanceLocation": "",
    #       "keywordLocation": "/exclusiveMinimum"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 916 - optional/content.json: "validation of string-encoded content based on media type" - "a valid JSON document" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 917 - optional/content.json: "validation of string-encoded content based on media type" - "an invalid JSON document" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "could not decode application/json string: '\"' expected, at character offset 1 (before \":}\") at /build/reproducible-path/libjson-schema-modern-perl-0.603/blib/lib/JSON/Schema/Modern.pm line 1151.",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contentMediaType"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "could not decode application/json string: '\"' expected, at character offset 1 (before \":}\") at /build/reproducible-path/libjson-schema-modern-perl-0.603/blib/lib/JSON/Schema/Modern.pm line 1151.",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contentMediaType"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 918 - optional/content.json: "validation of string-encoded content based on media type" - "ignores non-strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 919 - optional/content.json: "validation of binary string-encoding" - "a valid base64 string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 920 - optional/content.json: "validation of binary string-encoding" - "an invalid base64 string (% is not a valid character)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "could not decode base64 string: invalid characters",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contentEncoding"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "could not decode base64 string: invalid characters",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contentEncoding"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 921 - optional/content.json: "validation of binary string-encoding" - "ignores non-strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 922 - optional/content.json: "validation of binary-encoded media type documents" - "a valid base64-encoded JSON document" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 923 - optional/content.json: "validation of binary-encoded media type documents" - "a validly-encoded invalid JSON document" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "could not decode application/json string: '\"' expected, at character offset 1 (before \":}\\n\") at /build/reproducible-path/libjson-schema-modern-perl-0.603/blib/lib/JSON/Schema/Modern.pm line 1151.",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contentMediaType"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "could not decode application/json string: '\"' expected, at character offset 1 (before \":}\\n\") at /build/reproducible-path/libjson-schema-modern-perl-0.603/blib/lib/JSON/Schema/Modern.pm line 1151.",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contentMediaType"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 924 - optional/content.json: "validation of binary-encoded media type documents" - "an invalid base64 string that is valid JSON" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "could not decode base64 string: invalid characters",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contentEncoding"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "could not decode base64 string: invalid characters",
    #       "instanceLocation": "",
    #       "keywordLocation": "/contentEncoding"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 925 - optional/content.json: "validation of binary-encoded media type documents" - "ignores non-strings" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 926 - optional/cross-draft.json: "refs to future drafts are processed as future drafts" - "missing bar is invalid" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/dependentRequired.json#/dependentRequired/foo",
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/$ref/dependentRequired/foo"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/dependentRequired.json#/dependentRequired",
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/$ref/dependentRequired"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/dependentRequired.json#/dependentRequired/foo",
    #       "error": "object is missing property: bar",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/$ref/dependentRequired/foo"
    #     },
    #     {
    #       "absoluteKeywordLocation": "http://localhost:1234/draft2019-09/dependentRequired.json#/dependentRequired",
    #       "error": "not all dependencies are satisfied",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf/1/$ref/dependentRequired"
    #     },
    #     {
    #       "error": "subschema 1 is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/allOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 927 - optional/cross-draft.json: "refs to future drafts are processed as future drafts" - "present bar is valid" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 928 - optional/ecmascript-regex.json: "ECMA 262 regex $ does not match trailing newline" - "matches in Python, but not in ECMA 262" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 929 - optional/ecmascript-regex.json: "ECMA 262 regex $ does not match trailing newline" - "matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 930 - optional/ecmascript-regex.json: "ECMA 262 regex converts \t to horizontal tab" - "does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 931 - optional/ecmascript-regex.json: "ECMA 262 regex converts \t to horizontal tab" - "matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 932 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and upper letter" - "does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 933 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and upper letter" - "matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 934 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and lower letter" - "does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 935 - optional/ecmascript-regex.json: "ECMA 262 regex escapes control codes with \c and lower letter" - "matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 936 - optional/ecmascript-regex.json: "ECMA 262 \d matches ascii digits only" - "ASCII zero matches" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 937 - optional/ecmascript-regex.json: "ECMA 262 \d matches ascii digits only" - "NKO DIGIT ZERO does not match (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7.t line 49.
    # expected false; got true
    # schema: {
    #   "pattern": "^\\d$",
    #   "type": "string"
    # }
    # data: "߀"
    # result: 1
    1..1
}
ok 938 - optional/ecmascript-regex.json: "ECMA 262 \d matches ascii digits only" - "NKO DIGIT ZERO (as \u escape) does not match" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7.t line 49.
    # expected false; got true
    # schema: {
    #   "pattern": "^\\d$",
    #   "type": "string"
    # }
    # data: "߀"
    # result: 1
    1..1
}
ok 939 - optional/ecmascript-regex.json: "ECMA 262 \D matches everything but ascii digits" - "ASCII zero does not match" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 940 - optional/ecmascript-regex.json: "ECMA 262 \D matches everything but ascii digits" - "NKO DIGIT ZERO matches (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7.t line 49.
    # expected true; got false
    # schema: {
    #   "pattern": "^\\D$",
    #   "type": "string"
    # }
    # data: "߀"
    # result: 0
    1..1
}
ok 941 - optional/ecmascript-regex.json: "ECMA 262 \D matches everything but ascii digits" - "NKO DIGIT ZERO (as \u escape) matches" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7.t line 49.
    # expected true; got false
    # schema: {
    #   "pattern": "^\\D$",
    #   "type": "string"
    # }
    # data: "߀"
    # result: 0
    1..1
}
ok 942 - optional/ecmascript-regex.json: "ECMA 262 \w matches ascii letters only" - "ASCII 'a' matches" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true # 
    1..1
}
ok 943 - optional/ecmascript-regex.json: "ECMA 262 \w matches ascii letters only" - "latin-1 e-acute does not match (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7.t line 49.
    # expected false; got true
    # schema: {
    #   "pattern": "^\\w$",
    #   "type": "string"
    # }
    # data: "é"
    # result: 1
    1..1
}
ok 944 - optional/ecmascript-regex.json: "ECMA 262 \W matches everything but ascii letters" - "ASCII 'a' does not match" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false # 
    1..1
}
ok 945 - optional/ecmascript-regex.json: "ECMA 262 \W matches everything but ascii letters" - "latin-1 e-acute matches (unlike e.g. Python)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7.t line 49.
    # expected true; got false
    # schema: {
    #   "pattern": "^\\W$",
    #   "type": "string"
    # }
    # data: "é"
    # result: 0
    1..1
}
ok 946 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "ASCII space matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 947 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Character tabulation matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 948 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Line tabulation matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 949 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Form feed matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 950 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "latin-1 non-breaking-space matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 951 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "zero-width whitespace matches" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7.t line 49.
    # expected true; got false
    # schema: {
    #   "pattern": "^\\s$",
    #   "type": "string"
    # }
    # data: ""
    # result: 0
    1..1
}
ok 952 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "line feed matches (line terminator)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 953 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "paragraph separator matches (line terminator)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 954 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "EM SPACE matches (Space_Separator)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 955 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Non-whitespace control does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 956 - optional/ecmascript-regex.json: "ECMA 262 \s matches whitespace" - "Non-whitespace does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 957 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "ASCII space does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 958 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Character tabulation does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 959 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Line tabulation does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 960 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Form feed does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 961 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "latin-1 non-breaking-space does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 962 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "zero-width whitespace does not match" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7.t line 49.
    # expected false; got true
    # schema: {
    #   "pattern": "^\\S$",
    #   "type": "string"
    # }
    # data: ""
    # result: 1
    1..1
}
ok 963 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "line feed does not match (line terminator)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 964 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "paragraph separator does not match (line terminator)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 965 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "EM SPACE does not match (Space_Separator)" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 966 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Non-whitespace control matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 967 - optional/ecmascript-regex.json: "ECMA 262 \S matches everything but whitespace" - "Non-whitespace matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 968 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "ascii character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 969 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "literal unicode character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 970 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "unicode character in hex format in string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 971 - optional/ecmascript-regex.json: "patterns always use unicode semantics with pattern" - "unicode matching is case-sensitive" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 972 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "ascii character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 973 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "literal unicode character in json string" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7.t line 49.
    # expected false; got true
    # schema: {
    #   "pattern": "\\wcole"
    # }
    # data: "Les hivers de mon enfance étaient des saisons longues, longues. Nous vivions en trois lieux: l'école, l'église et la patinoire; mais la vraie vie était sur la patinoire."
    # result: 1
    1..1
}
ok 974 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "unicode character in hex format in string" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7.t line 49.
    # expected false; got true
    # schema: {
    #   "pattern": "\\wcole"
    # }
    # data: "Les hivers de mon enfance étaient des saisons longues, longues. Nous vivions en trois lieux: l'école, l'église et la patinoire; mais la vraie vie était sur la patinoire."
    # result: 1
    1..1
}
ok 975 - optional/ecmascript-regex.json: "\w in patterns matches [A-Za-z0-9_], not unicode letters" - "unicode matching is case-sensitive" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 976 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "literal unicode character in json string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 977 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "unicode character in hex format in string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 978 - optional/ecmascript-regex.json: "pattern with ASCII ranges" - "ascii characters match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 979 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "ascii digits" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 980 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "ascii non-digits" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 981 - optional/ecmascript-regex.json: "\d in pattern matches [0-9], not unicode digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7.t line 49.
    # expected false; got true
    # schema: {
    #   "pattern": "^\\d+$"
    # }
    # data: "৪২"
    # result: 1
    1..1
}
ok 982 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "ascii digits" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 983 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "ascii non-digits" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 984 - optional/ecmascript-regex.json: "pattern with non-ASCII digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 985 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "ascii character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 986 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "literal unicode character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 987 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "unicode character in hex format in string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 988 - optional/ecmascript-regex.json: "patterns always use unicode semantics with patternProperties" - "unicode matching is case-sensitive" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/L'ÉCOLE",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/L'ÉCOLE",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 989 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "ascii character in json string" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 990 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "literal unicode character in json string" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7.t line 49.
    # expected false; got true
    # schema: {
    #   "additionalProperties": false,
    #   "patternProperties": {
    #     "\\wcole": true
    #   },
    #   "type": "object"
    # }
    # data: {
    #   "l'école": "pas de vraie vie"
    # }
    # result: 1
    1..1
}
ok 991 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "unicode character in hex format in string" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7.t line 49.
    # expected false; got true
    # schema: {
    #   "additionalProperties": false,
    #   "patternProperties": {
    #     "\\wcole": true
    #   },
    #   "type": "object"
    # }
    # data: {
    #   "l'école": "pas de vraie vie"
    # }
    # result: 1
    1..1
}
ok 992 - optional/ecmascript-regex.json: "\w in patternProperties matches [A-Za-z0-9_], not unicode letters" - "unicode matching is case-sensitive" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/L'ÉCOLE",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/L'ÉCOLE",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 993 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "literal unicode character in json string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/l'école",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/l'école",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 994 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "unicode character in hex format in string" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/l'école",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/l'école",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 995 - optional/ecmascript-regex.json: "patternProperties with ASCII ranges" - "ascii characters match" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 996 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "ascii digits" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 997 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "ascii non-digits" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/-%#",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/-%#",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 998 - optional/ecmascript-regex.json: "\d in patternProperties matches [0-9], not unicode digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" { # TODO Test marked TODO via "todo_tests"
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    not ok 1 - evaluation result is incorrect # 
    # Failed test (with amnesty) 'evaluation result is incorrect'
    # at t/zzz-acceptance-draft7.t line 49.
    # expected false; got true
    # schema: {
    #   "additionalProperties": false,
    #   "patternProperties": {
    #     "^\\d+$": true
    #   },
    #   "type": "object"
    # }
    # data: {
    #   "৪২": "khajit has wares if you have coin"
    # }
    # result: 1
    1..1
}
ok 999 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "ascii digits" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1000 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "ascii non-digits" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/-%#",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "additional property not permitted",
    #       "instanceLocation": "/-%#",
    #       "keywordLocation": "/additionalProperties"
    #     },
    #     {
    #       "error": "not all additional properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/additionalProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1001 - optional/ecmascript-regex.json: "patternProperties with non-ASCII digits" - "non-ascii digits (BENGALI DIGIT FOUR, BENGALI DIGIT TWO)" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 1002 - optional/float-overflow.json: "all integers are multiples of 0.5, if overflow is handled" - "valid if optional overflow handling is implemented" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
# 
ok 1003 - optional/id.json: "id inside an enum is not a real identifier" - "exact match to enum, and type matches" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1004 - optional/id.json: "id inside an enum is not a real identifier" - "match $ref to id" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1005 - optional/id.json: "id inside an enum is not a real identifier" - "no match on enum or $ref to id" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/id_in_enum/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/id/my_identifier.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/id_in_enum/enum",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/enum"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/id/my_identifier.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1006 - optional/id.json: "non-schema object containing a plain-name $id property" - "skip traversing definition for a valid result" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1007 - optional/id.json: "non-schema object containing a plain-name $id property" - "const at const_not_anchor does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/const_not_anchor/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/const_not_anchor/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1008 - optional/id.json: "non-schema object containing an $id property" - "skip traversing definition for a valid result" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1009 - optional/id.json: "non-schema object containing an $id property" - "const at const_not_id does not match" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/const_not_id/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/const_not_id/const",
    #       "error": "value does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else/$ref/const"
    #     },
    #     {
    #       "error": "subschema is not valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/else"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 1010 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches empty" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1011 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches single" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1012 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "matches two" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1013 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1014 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match two" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1015 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match one ASCII" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1016 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: pattern" - "doesn't match two ASCII" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "pattern does not match",
    #       "instanceLocation": "",
    #       "keywordLocation": "/pattern"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1017 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches empty" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1018 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches single" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1019 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "matches two" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1020 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "doesn't match one" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/🐲",
    #       "keywordLocation": "/patternProperties/^🐲*$/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/🐲",
    #       "keywordLocation": "/patternProperties/^🐲*$/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1021 - optional/non-bmp-regex.json: "Proper UTF-16 surrogate pair handling: patternProperties" - "doesn't match two" {
    # result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/🐲🐲",
    #       "keywordLocation": "/patternProperties/^🐲*$/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "error": "got string, not integer",
    #       "instanceLocation": "/🐲🐲",
    #       "keywordLocation": "/patternProperties/^🐲*$/type"
    #     },
    #     {
    #       "error": "not all properties are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/patternProperties"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
# 
ok 1022 - optional/unknownKeyword.json: "$id inside an unknown keyword is not a real identifier" - "type matches second anyOf, which has a real schema in it" {
    # result: {
    #   "valid": true
    # }
    # short-circuited result: {
    #   "valid": true
    # }
    ok 1 - test passes: data is valid: true
    1..1
}
ok 1023 - optional/unknownKeyword.json: "$id inside an unknown keyword is not a real identifier" - "type matches non-schema in first anyOf" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/id_in_unknown0/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/definitions/id_in_unknown1/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/unknownKeyword/my_identifier.json#/type",
    #       "error": "got null, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/2/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/id_in_unknown0/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/definitions/id_in_unknown1/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/unknownKeyword/my_identifier.json#/type",
    #       "error": "got null, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/2/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1024 - optional/unknownKeyword.json: "$id inside an unknown keyword is not a real identifier" - "type matches non-schema in third anyOf" {
    # result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/id_in_unknown0/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/definitions/id_in_unknown1/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/unknownKeyword/my_identifier.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/2/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    # short-circuited result: {
    #   "errors": [
    #     {
    #       "absoluteKeywordLocation": "#/definitions/id_in_unknown0/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/0/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "#/definitions/id_in_unknown1/not",
    #       "error": "subschema is valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/1/$ref/not"
    #     },
    #     {
    #       "absoluteKeywordLocation": "https://localhost:1234/unknownKeyword/my_identifier.json#/type",
    #       "error": "got integer, not string",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf/2/$ref/type"
    #     },
    #     {
    #       "error": "no subschemas are valid",
    #       "instanceLocation": "",
    #       "keywordLocation": "/anyOf"
    #     }
    #   ],
    #   "valid": false
    # }
    ok 1 - test passes: data is valid: false
    1..1
}
ok 1025 - no leaks in the main evaluator object
ok 1026 - no leaks in the short-circuiting evaluator object
1..1026
ok
t/zzz-check-breaks.t .................... 
1..2
ok 1 # skip no conflicts module found to check against
ok 2 - checked x_breaks data
ok
All tests successful.

Test Summary Report
-------------------
t/zzz-acceptance-draft2019-09-format.t (Wstat: 0 Tests: 478 Failed: 0)
  TODO passed:   132-136, 149-206, 263-275, 287, 420-429
                455
t/zzz-acceptance-draft2019-09.t       (Wstat: 0 Tests: 1376 Failed: 0)
  TODO passed:   1237-1272, 1281-1290, 1296, 1307, 1318-1319
                1326, 1335-1336, 1343, 1366-1371
t/zzz-acceptance-draft2020-12-format.t (Wstat: 0 Tests: 486 Failed: 0)
  TODO passed:   99, 120-121, 140-144, 157-214, 271-283
                295, 428-437, 463
t/zzz-acceptance-draft2020-12.t       (Wstat: 0 Tests: 1405 Failed: 0)
  TODO passed:   1260-1295, 1306-1315, 1321, 1332, 1343-1344
                1351, 1360-1361, 1368, 1395-1400
t/zzz-acceptance-draft4-format.t      (Wstat: 0 Tests: 155 Failed: 0)
  TODO passed:   59-62, 153
t/zzz-acceptance-draft4.t             (Wstat: 0 Tests: 712 Failed: 0)
  TODO passed:   628-637, 643, 654, 665-666, 673, 682-683
                690, 710
t/zzz-acceptance-draft6-format.t      (Wstat: 0 Tests: 216 Failed: 0)
  TODO passed:   59-62, 179-188, 214
t/zzz-acceptance-draft6.t             (Wstat: 0 Tests: 930 Failed: 0)
  TODO passed:   840-849, 855, 866, 877-878, 885, 894-895
                902
t/zzz-acceptance-draft7-format.t      (Wstat: 0 Tests: 429 Failed: 0)
  TODO passed:   106-109, 122-178, 235-247, 259, 392-401
                427
t/zzz-acceptance-draft7.t             (Wstat: 0 Tests: 1026 Failed: 0)
  TODO passed:   936-945, 951, 962, 973-974, 981, 990-991
                998
Files=45, Tests=10361, 76 wallclock secs ( 4.45 usr  0.32 sys + 70.96 cusr  4.92 csys = 80.65 CPU)
Result: PASS
make[1]: Leaving directory '/build/reproducible-path/libjson-schema-modern-perl-0.603'
   create-stamp debian/debhelper-build-stamp
   dh_prep
   debian/rules override_dh_auto_install
make[1]: Entering directory '/build/reproducible-path/libjson-schema-modern-perl-0.603'
dh_auto_install
	/usr/bin/perl Build install --destdir /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl --create_packlist 0
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/man/man1/json-schema-eval.1p
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/JSON/Schema/Modern.pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/JSON/Schema/Modern/Vocabulary.pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/JSON/Schema/Modern/Annotation.pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/JSON/Schema/Modern/Result.pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/JSON/Schema/Modern/Error.pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/JSON/Schema/Modern/Utilities.pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/JSON/Schema/Modern/Document.pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/JSON/Schema/Modern/ResultNode.pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/JSON/Schema/Modern/Vocabulary/Applicator.pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/JSON/Schema/Modern/Vocabulary/Core.pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/JSON/Schema/Modern/Vocabulary/Validation.pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/JSON/Schema/Modern/Vocabulary/FormatAssertion.pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/JSON/Schema/Modern/Vocabulary/FormatAnnotation.pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/JSON/Schema/Modern/Vocabulary/MetaData.pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/JSON/Schema/Modern/Vocabulary/Content.pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/JSON/Schema/Modern/Vocabulary/Unevaluated.pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/auto/share/dist/JSON-Schema-Modern/LICENSE
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/auto/share/dist/JSON-Schema-Modern/draft7/schema.json
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/auto/share/dist/JSON-Schema-Modern/draft2020-12/schema.json
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/auto/share/dist/JSON-Schema-Modern/draft2020-12/meta/format-assertion.json
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/auto/share/dist/JSON-Schema-Modern/draft2020-12/meta/unevaluated.json
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/auto/share/dist/JSON-Schema-Modern/draft2020-12/meta/content.json
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/auto/share/dist/JSON-Schema-Modern/draft2020-12/meta/format-annotation.json
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/auto/share/dist/JSON-Schema-Modern/draft2020-12/meta/meta-data.json
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/auto/share/dist/JSON-Schema-Modern/draft2020-12/meta/validation.json
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/auto/share/dist/JSON-Schema-Modern/draft2020-12/meta/applicator.json
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/auto/share/dist/JSON-Schema-Modern/draft2020-12/meta/core.json
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/auto/share/dist/JSON-Schema-Modern/draft2020-12/output/schema.json
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/auto/share/dist/JSON-Schema-Modern/draft2019-09/schema.json
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/auto/share/dist/JSON-Schema-Modern/draft2019-09/meta/content.json
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/auto/share/dist/JSON-Schema-Modern/draft2019-09/meta/format.json
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/auto/share/dist/JSON-Schema-Modern/draft2019-09/meta/meta-data.json
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/auto/share/dist/JSON-Schema-Modern/draft2019-09/meta/validation.json
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/auto/share/dist/JSON-Schema-Modern/draft2019-09/meta/applicator.json
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/auto/share/dist/JSON-Schema-Modern/draft2019-09/meta/core.json
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/auto/share/dist/JSON-Schema-Modern/draft2019-09/output/schema.json
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/auto/share/dist/JSON-Schema-Modern/draft6/schema.json
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/auto/share/dist/JSON-Schema-Modern/draft4/schema.json
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/man/man3/JSON::Schema::Modern::Vocabulary::Unevaluated.3pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/man/man3/JSON::Schema::Modern::Vocabulary::Validation.3pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/man/man3/JSON::Schema::Modern::Error.3pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/man/man3/JSON::Schema::Modern::Vocabulary::FormatAnnotation.3pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/man/man3/JSON::Schema::Modern::Annotation.3pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/man/man3/JSON::Schema::Modern::Vocabulary::Applicator.3pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/man/man3/JSON::Schema::Modern::Vocabulary::Content.3pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/man/man3/JSON::Schema::Modern.3pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/man/man3/JSON::Schema::Modern::Vocabulary::FormatAssertion.3pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/man/man3/JSON::Schema::Modern::Result.3pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/man/man3/JSON::Schema::Modern::Vocabulary::MetaData.3pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/man/man3/JSON::Schema::Modern::ResultNode.3pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/man/man3/JSON::Schema::Modern::Vocabulary.3pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/man/man3/JSON::Schema::Modern::Vocabulary::Core.3pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/man/man3/JSON::Schema::Modern::Utilities.3pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/man/man3/JSON::Schema::Modern::Document.3pm
Installing /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/bin/json-schema-eval
rm -f -v /build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/auto/share/dist/JSON-Schema-Modern/LICENSE
removed '/build/reproducible-path/libjson-schema-modern-perl-0.603/debian/libjson-schema-modern-perl/usr/share/perl5/auto/share/dist/JSON-Schema-Modern/LICENSE'
make[1]: Leaving directory '/build/reproducible-path/libjson-schema-modern-perl-0.603'
   dh_installdocs
   dh_installchangelogs
   dh_installman
   dh_perl
   dh_link
   dh_strip_nondeterminism
   dh_compress
   dh_fixperms
   dh_missing
   dh_installdeb
   dh_gencontrol
   dh_md5sums
   dh_builddeb
dpkg-deb: building package 'libjson-schema-modern-perl' in '../libjson-schema-modern-perl_0.603-1_all.deb'.
 dpkg-genbuildinfo --build=binary -O../libjson-schema-modern-perl_0.603-1_amd64.buildinfo
 dpkg-genchanges --build=binary -O../libjson-schema-modern-perl_0.603-1_amd64.changes
dpkg-genchanges: info: binary-only upload (no source code included)
 dpkg-source --after-build .
dpkg-buildpackage: info: binary-only upload (no source included)
dpkg-genchanges: info: including full source code in upload
I: copying local configuration
I: user script /srv/workspace/pbuilder/3323367/tmp/hooks/B01_cleanup starting
I: user script /srv/workspace/pbuilder/3323367/tmp/hooks/B01_cleanup finished
I: unmounting dev/ptmx filesystem
I: unmounting dev/pts filesystem
I: unmounting dev/shm filesystem
I: unmounting proc filesystem
I: unmounting sys filesystem
I: cleaning the build env 
I: removing directory /srv/workspace/pbuilder/3323367 and its subdirectories
I: Current time: Sat Apr  4 08:40:00 +14 2026
I: pbuilder-time-stamp: 1775241600