NAME
    Test::JavaScript - JavaScript Testing Module

SYNOPSIS
        use Test::JavaScript qw(no_plan);

        use_ok("/path/to/MyFile.js");

        ok("var obj = new MyFile", "Create a MyFile object");

        ok("obj.someFunction = function () { return 'ok' }");

        is("obj.someFunction()", "ok");

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

    use_ok
      use_ok($filename)

    This reads a file and evals it in JavaScript

    For example:

        use_ok( "/path/to/some/file.js" );

    is
    isnt
      is  ( $this, $that, $test_name );
      isnt( $this, $that, $test_name );

    This compares two values in JavaScript land. They can be literal strings
    passed from perl or variables defined earlier.

    For example:

        ok("var i = 3");                                    // ok
        is("i", 3, "i is 3");                               // ok
        is("3", 3, "3 is 3");                               // ok
        is("3", 2, "3 is 2");                               // not ok

        ok("function three () { return 3 }");               // ok
        is("three()", 3);                                   // ok
        is("three()", 4);                                   // not ok

        isnt("3", 4, "3 is not 4");                         // ok

    ok
      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

    For example:

        ok("var i = 3");                                    // ok
        ok("true", "true is true");                         // ok
        ok("1 == 2", "1 is equal to 2");                    // not ok
        ok("false", "false is false");                      // not ok
        ok("var array = ['one','two',non_existing_var];")   // not ok