NAME
Test::JSON::Assert - Tests JPaths into an JSON Data structure for correct values/matches
SYNOPSIS
use Test::JSON::Assert tests => 2;
my $xml1 = "<foo xmlns="urn:message"><bar baz="buzz">text</bar></foo>";
my $xml2 = "<f:foo xmlns:f="urn:message"><f:bar baz="buzz">text</f:bar></f:foo>";
my $xml3 = "<foo><bar baz="buzz">text</bar></foo>";
ToDo
DESCRIPTION
This module allows you to test if two JSON data structures are semantically the same.
It uses JSON::Assert to do all of it's checking.
SUBROUTINES
In all of the following subroutines there are three common parameters.
$doc is a data structure generated from a JSON document.
$jpath is a string which contains the path to the element(s) you'd like to match against, whether this is for a count or a value match.
- is_jpath_count($doc, $jpath, $count, $name)
-
Test passes if there are $count keys referenced by $jpath in the $doc.
$countis the number of expected keys which match the$jpath. - does_jpath_value_match($doc, $jpath, $match, $name)
-
Test passes if
$jpathmatches only one key in$docand the value matched smart matches against$match.Again,
$matchcan be a scalar, regex, arrayref or anything the smart match operator can match on. - do_jpath_values_match($doc, $jpath, $match, $name)
-
Test passes if
$jpathmatches at least one key in$docand all nodes matched smart matches against$match.Again,
$matchcan be a scalar, regex, arrayref or anything the smart match operator can match on. - does_jpath_contains($doc, $jpath, $match, $name)
-
Test passes if
$jpathcontains a key in$docthat matches against$match.Again,
$matchcan be a scalar, regex, arrayref.
EXPORTS
Everything in "SUBROUTINES" by default, as expected.
SEE ALSO
JSON::Assert, XML::Assert, XML::Compare, Test::Builder
AUTHOR
- Work
-
<puck at catalyst dot net dot nz>, http://www.catalyst.net.nz/
- Personal
-
<andrew at etc dot gen dot nz<gt>, http://www.etc.gen.nz/
COPYRIGHT & LICENSE
This software development is sponsored and directed by NZRS Ltd., http://www.nzrs.net.nz/
Part of work was carried out by Catalyst IT, http://www.catalyst.net.nz/
Copyright (c) 2014-2015, NZRS Limited. All Rights Reserved. This software may be used under the terms of the Artistic License 2.0. Note that this license is compatible with both the GNU GPL and Artistic licenses. A copy of this license is supplied with the distribution in the file COPYING.txt.