Test::JavaScript - JavaScript Testing Module
use Test::JavaScript qw(no_plan); js_eval_ok("/path/to/MyFile.js"); js_ok("var obj = new MyFile", "Create a MyFile object"); js_ok("obj.someFunction = function () { return 'ok' }"); js_is("obj.someFunction()", "ok");
Test::JavaScript provides a method of unit testing javascript code from within perl. This module uses the JavaScript::SpiderMonkey package to evaluate JavaScript using the SpiderMonkey JavaScript engine.
js_eval_ok($filename)
This reads a file and evals it in JavaScript
For example:
js_eval_ok( "/path/to/some/file.js" );
js_is ( $this, $that, $test_name ); js_isnt( $this, $that, $test_name );
This compares two values in JavaScript land. They can be literal strings passed from perl or variables defined earlier.
js_ok("var i = 3"); // ok js_is("i", 3, "i is 3"); // ok js_is("3", 3, "3 is 3"); // ok js_is("3", 2, "3 is 2"); // not ok js_ok("function three () { return 3 }"); // ok js_is("three()", 3); // ok js_is("three()", 4); // not ok js_isnt("3", 4, "3 is not 4"); // ok
js_ok("var monkey = 3", $test_name);
The expression passed as the first parameter is evaluated as either true or false. The test fails if the expression explicitly returns false, or if a syntax error occurs in JavaScript land
js_ok("var i = 3"); // ok js_ok("true", "true is true"); // ok js_ok("1 == 2", "1 is equal to 2"); // not ok js_ok("false", "false is false"); // not ok js_ok("var array = ['one','two',non_existing_var];") // not ok
js_ok("var myval = 3; diag('the variable myval is ' + myval)");
This subroutine simply logs the parameters passed as a comment
Kevin Jones, <kevinj at cpan.org>
<kevinj at cpan.org>
Copyright 2006 Kevin Jones, All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
2 POD Errors
The following errors were encountered while parsing the POD:
'=item' outside of any '=over'
You forgot a '=back' before '=head1'
To install Test::JavaScript, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Test::JavaScript
CPAN shell
perl -MCPAN -e shell install Test::JavaScript
For more information on module installation, please visit the detailed CPAN module installation guide.