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 (\s-1JSON\s0) is a lightweight data interchange format. Test::JSON makes it easy to verify that you have built valid \s-1JSON\s0 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 \s-1JSON\s0.

is_json

is_json $json, $expected_json, '... and it matches what we expected';

Test passes if the two \s-1JSON\s0 strings are valid \s-1JSON\s0 and evaluate to the same data structure.

Test::Differences is used to provide easy diagnostics of why the \s-1JSON\s0 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 \*(L"Ovid\*(R" Poe, \*(C`<[email protected]>\*(C'

BUGS

Please report any bugs or feature requests to \*(C`[email protected]\*(C', 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.

RELATED TO Test::JSON…

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 \*(C`[email protected]\*(C' for a patch to make this work with \s-1JSON\s0 2.0.

Thanks to Stevan Little for suggesting a switch to JSON::Any. This makes it easier for this module to work with whatever \s-1JSON\s0 module you have installed.

COPYRIGHT & LICENSE

Copyright 2005-2007 Curtis \*(L"Ovid\*(R" Poe, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.