NAME
Test::JSON - Test JSON data
VERSION
Version 0.11
SYNOPSIS
use
Test::JSON;
is_valid_json
$json
,
'... json is well formed'
;
is_json
$json
,
$expected_json
,
'... and it matches what we expected'
;
EXPORT
is_valid_json
is_json
DESCRIPTION
JavaScript Object Notation (JSON) is a lightweight data interchange format. Test::JSON makes it easy to verify that you have built valid JSON and that it matches your expected output.
See http://www.json.org/ for more information.
TESTS
is_valid_json
is_valid_json
$json
,
'... json is well formed'
;
Test passes if the string passed is valid JSON.
is_json
is_json
$json
,
$expected_json
,
'... and it matches what we expected'
;
Test passes if the two JSON strings are valid JSON and evaluate to the same data structure.
Test::Differences is used to provide easy diagnostics of why the JSON structures did not match. For example:
Failed test
'... and identical JSON should match'
in t/10testjson.t at line 14.
+----+---------------------------+---------------------------+
| Elt|Got |Expected |
+----+---------------------------+---------------------------+
| 0|{ |{ |
| 1|
bool
=>
'1'
, |
bool
=>
'1'
, |
| 2|
description
=>
bless
( { |
description
=>
bless
( { |
| 3|
value
=>
undef
|
value
=>
undef
|
| 4| },
'JSON::NotString'
), | },
'JSON::NotString'
), |
| 5|
id
=>
'1'
, |
id
=>
'1'
, |
* 6|
name
=>
'foo'
|
name
=>
'fo'
*
| 7|} |} |
+----+---------------------------+---------------------------+
AUTHOR
Curtis "Ovid" Poe, <ovid@cpan.org>
BUGS
Please report any bugs or feature requests to bug-test-json@rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Test-JSON. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SEE ALSO
This test module uses JSON::Any and Test::Differences.
ACKNOWLEDGEMENTS
The development of this module was sponsored by Kineticode, http://www.kineticode.com/, the leading provider of services for the Bricolage content management system, http://www.bricolage.cc/.
Thanks to Makamaka Hannyaharamitu makamaka@cpan.org
for a patch to make this work with JSON 2.0.
Thanks to Stevan Little for suggesting a switch to JSON::Any. This makes it easier for this module to work with whatever JSON module you have installed.
COPYRIGHT & LICENSE
Copyright 2005-2007 Curtis "Ovid" Poe, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.