Permalink
Commits on Dec 5, 2012
  1. make casper paths relative to spooky and not cwd

    the paths for the casper `script` and `spooky_lib` options were relative
    to the current working directory, however they should be relative to
    spooky's installation directory. this comes up when spooky is installed
    somewhere other than `./node_modules/spooky`.
    committed Dec 5, 2012
Commits on Nov 9, 2012
  1. Merge pull request #17 from DelvarWorld/userAgent

    Adding userAgent function to spooky
    lawnsea committed Nov 9, 2012
Commits on Oct 25, 2012
  1. Merge pull request #13 from thingsinjars/master

    Cucumber example fixing
    lawnsea committed Oct 25, 2012
Commits on Oct 21, 2012
  1. Making cucumber test work

    Changed the spooky_lib location for world.js and removed the extra
    error parameter that was breaking onCreated
    thingsinjars committed Oct 21, 2012
Commits on Sep 24, 2012
  1. Fix requires so that the lib/* modules work

    Also moved console event listener closer to child spawn point.
    lawnsea committed Sep 24, 2012
  2. Fix example to work with new constructor callback

    Update README with new example and document TEST_TRANSPORT.
    lawnsea committed Sep 24, 2012
  3. Implement stdio transport (fix #9)

    By default, Spooky will now use the child's stdin/out as transport for RPCs. Set
    options.child.transport to 'http' to use HTTP transport instead. HTTP transport
    is probably going to be deprecated, however, as it was always a workaround for
    stdin being buffered.
    
    Specify the transport when running the tests with the TEST_TRANSPORT variable.
    The default is 'stdio'.
    lawnsea committed Sep 24, 2012
Commits on Sep 20, 2012
  1. Factor http server out as module

    lawnsea committed Sep 18, 2012
Commits on Sep 18, 2012
  1. Recurse into config child objects (fix #2)

    The Spooky constructor will now recurse into direct children of the config
    object and apply any defaults. So, if passed { foo: { bar: 'applesauce' } } and
    the default config is { foo: { baz: 'monkeys' } }, then the applied config is:
    {
        foo: {
            bar: 'applesauce',
            baz: 'monkeys'
        }
    }
    lawnsea committed Sep 18, 2012
Commits on Sep 16, 2012
  1. Upgrade to tiny-jsonrpc 0.2

    lawnsea committed Sep 16, 2012
Commits on Aug 30, 2012
  1. Document TEST_DEBUG make param

    lawnsea committed Aug 30, 2012
  2. Break bootstrap script into modules (fixes #6)

    The modules live in `lib/bootstrap`.
    lawnsea committed Aug 30, 2012
  3. Show optional debug information when running tests

    To print debug logging to the console when running the tests, set the
    make variable TEST_DEBUG to a truthy value:
        make test TEST_DEBUG=1
    lawnsea committed Aug 30, 2012
  4. Finish Cucumber.js example (fixes #8)

    The example test suite is now in `examples/cucumber`. Run it like so:
        make cucumber.js
    lawnsea committed Aug 30, 2012
  5. Clean up _onCreate logic

    lawnsea committed Aug 30, 2012
Commits on Aug 29, 2012
  1. Embetter the examples

    lawnsea committed Aug 29, 2012
Commits on Aug 28, 2012
  1. Rev version and cut release

    lawnsea committed Aug 28, 2012
  2. Fix #1: Add example and use npm-friendly defaults

    There is now a minimal example in `examples/hello.js`. Run it from the
    repo root with:
    
        node examples/hello.js
    
    The child config now defaults to one that will work with an npm install,
    rather than one that works in our repo.
    lawnsea committed Aug 28, 2012
  3. Remove support for multiple instances per server

    There is no longer a distinction between the casper server and the
    spooky instance. Multiple instances never worked and the code that tried
    (and failed) to support them greatly complicated things.
    
    As usual, see tests/util/hooks.js for usage, but here's the new hello
    world:
    
        var Spooky = require('spooky');
    
        var spooky = new Spooky({
            child: {
              port: /* port to listen on; defaults to 8081 */,
              script: /* script to run; defaults to './lib/bootstrap.js' */,
              spooky_lib: /* path to spooky's dependencies;
                  defaults to './node_modules' */
            },
            casper: {
              /* options for Casper.create */
            }
          }, function callback (err, error, response) {
              if (err || error) {
                throw err || error;
              }
    
              spooky.start();
              spooky.then(function () {
                this.echo('Hello, world');
              });
              spooky.run();
          });
    lawnsea committed Aug 28, 2012
Commits on Aug 27, 2012
  1. Update licensing information

    lawnsea committed Aug 27, 2012
  2. Tweak README

    lawnsea committed Aug 27, 2012
  3. Provide partial Casper API support and unit tests

    In addition to create, start, and run, Spooky now provides the Casper
    API methods that create new 'steps'; specifically: back, forward, the then*
    methods, and the wait* methods.
    
    These methods' normal behavior is now under test. Edge and failure case
    tests are future work.
    lawnsea committed Aug 27, 2012
Commits on Aug 26, 2012
Commits on Aug 25, 2012
  1. Always kill test server

    lawnsea committed Aug 25, 2012
  2. Finish test build support

    Run the tests with 'make test'. You may specify the following variables:
    - TEST_REPORTER (dot): the mocha reporter to use
    - TEST_PORT (8080): the port to run the fixture web server on
    - TEST_TIMEOUT (4000): threshold in ms for mocha to timeout a test
    - TEST_SLOW (4000): threshold in ms for mocha to say a test is slow
    
    The tests will spin up a node-httpserver instance rooted at
    /tests/fixtures and listening on TEST_PORT.
    lawnsea committed Aug 25, 2012
Commits on Aug 20, 2012
  1. Switch to mocha for tests

    We'll leave the existing cucumber tests as an example, but future tests
    should be written for mocha.
    
    Run the tests with
        make test
    lawnsea committed Aug 20, 2012
  2. Unlisten to kill servers

    lawnsea committed Aug 20, 2012
  3. Add links between test fixtures

    lawnsea committed Aug 20, 2012
  4. Don't leak a global. KTHX MOCHA

    lawnsea committed Aug 20, 2012
  5. U CAN HAZ TEH CODEZ

    lawnsea committed Aug 20, 2012