Test::JSON.3pm

Langue: en

Version: 2009-08-09 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

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 <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 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.