The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Test::BSON - Test BSON documents

VERSION

This document describes Test::BSON version 0.01.

SYNOPSIS

   use Test::BSON;

   bson_ok $bson,                 'BSON is valid';
   bson_is $bson, $expected_bson, 'BSON matches what we expected';

DESCRIPTION

BSON is a binary-encoded extension of JSON. Test::BSON makes it easy to verify that you have built a valid BSON document and that it matches what you expected.

EXPORTED TESTS

bson_ok

Test passes if the BSON document is valid.

   bson_ok $bson, 'BSON is valid';

is_valid_bson is provided as an alternative to bson_ok using the same naming convention as Test::JSON but is not exported by default.

bson_is

Test passes if the two BSON documents are valid and evaluate to the same data structure.

   bson_is $bson, $expected_bson, 'BSON matches what we expected';

Test::Differences is used to provide easy diagnostics of why the BSON documents did not match. For example:

      Failed test 'BSON matches what we expected'
      in t/bson.t at line 10.
    +----+----------------+----------------+
    | Elt|Got             |Expected        |
    +----+----------------+----------------+
    |   0|{               |{               |
    |   1|  BSON => [     |  BSON => [     |
    *   2|    'AWSUM!!',  |    'awesome',  *
    |   3|    '5.05',     |    '5.05',     |
    *   4|    1984        |    1986        *
    |   5|  ]             |  ]             |
    |   6|}               |}               |
    +----+----------------+----------------+

is_bson is provided as an alternative to bson_is using the same naming convention as Test::JSON but is not exported by default.

SEE ALSO

This module uses BSON and Test::Differences, and is based on Test::JSON. Learn more about BSON at http://bsonspec.org/.

AUTHOR

Nick Patch <patch@cpan.org>

ACKNOWLEDGEMENTS

This module was forked from Test::JSYNC, which was forked from Test::JSON authored by Curtis “Ovid” Poe.

COPYRIGHT & LICENSE

© 2011–2012 Nick Patch

© 2005–2007 Curtis “Ovid” Poe

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