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

NAME

Test::JavaScript::More - test javascript code

SYNOPSIS

  #!/usr/bin/perl
  use Test::JavaScript::More;

  // from here on the script is all JavaScript
  plan(1);
  
  function foo() { return "foo"; }

  ok( foo(), "returns true" );
  is( foo(), "foo", "more specifically, 'foo'" );
  

DESCRIPTION

This module provides Test::More-like function for JavaScript (the current implementation just imports some of Test::More's functions into JavaScript space).

Everything below the use Test::JavaScript::More line will be interpreted as JavaScript. You can subclass this module and set up your context to include library code.

The line numbers will match up. Any lines in the test file up to and including the use Test::JavaScript::More are replaced with newlines in the compiled JavaScript.

JAVASCRIPT FUNCTIONS

This module exports a bunch lot of functions to JavaScript:

Testing Functions

plan( number_of_tests)

Plan the number of tests. The same as Test::More's plan.

ok( true_or_false, label )

Is this okay? The same as Test::More's ok.

is( value, expected, label )

Is this this? The same as Test::More's is.

diag( string )

Produce some diagnostic output (i.e. text with # in front of it.) The same as Test:More's diag.

like( string, match, label )

Does this string match the regular expression?

unlike( string, match, label )

Does this string not match the regular expression?

throws_ok( function, match, label )

Does this function throw an exception that matches this regular expression

Toto Testing

todo( true_or_false )

Set'todo' mode (or not.) If set to true, all subseqent tests run now will be todo tests. You have to manually set this back to false to stop being in todo being in 'todo' mode.

BUGS

throws_ok, like and unlike do their diagnostic error messages the wrong way round.

AUTHOR

Documentation and original crazy scheme for reading in the caller file by Mark Fowler. Testing functionality by Tom Insam and Stig Brautaset. Extracted from an internal Fotango test module by Stig Brautaset and Ash Berlin.

LICENCE AND COPYRIGHT

Copyright (c) 2007, Fotango and Claes Jakobsson <claesjac@cpan.org>. All rights reserved.

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

DISCLAIMER OF WARRANTY

BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.