Skip to content


Subversion checkout URL

You can clone with
Download ZIP

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: StanAngeloff/lotte
base: 0.1.2-1
head fork: StanAngeloff/lotte
compare: 0.2.1
Commits on Dec 09, 2011
@StanAngeloff Add `make publish`. 9ebbca7
@StanAngeloff Add @using(..) helper to pass objects to PhantomJS.
This hack has the same limitations as when passing variables from PhantomJS
to Lotte - it can only work on simple types and cannot serialize functions,
regular expressions, etc.

It is still better than having nothing or having to write the code yourself
each time a variable from a different environment is needed.
Commits on Dec 10, 2011
@StanAngeloff Recognise *.coffee files by default as well.
The previous pattern only matched JavaScript files. Since Lotte supports
CoffeeScript out-of-the box, accept lotte_*.coffee files by default.
@StanAngeloff Don't create a variable which is never used more than once, #refactor…
@StanAngeloff Allow Lottefile to log messages, require additional files, etc.
Export useful objects and functions which we think may be used within a
Lottefile. This will be helpful when dealing with plug-ins.
@StanAngeloff Bump dependencies versions, #nfc. cbbeff7
@StanAngeloff phantom{_version => Version}, #nfc. 78310b6
@StanAngeloff Tiny spelling correction, #nfc. 3a9890c
@StanAngeloff Add a dummy HTTP server.
This server will be used for IPC with PhantomJS. Events, such as test
case start, pass, fail, etc. will be communicated over HTTP (not yet

The server is enabled by default, but can be disabled either using
'--no-server' on the command line or 'server = false' in a Lottefile.

The default listening port is 3838 which should be unprivileged.
The default bind address is localhost,
@StanAngeloff Use encoded marker rather than quotes, #nfc. 993e992
@StanAngeloff Clear the polling interval to avoid tests being completed twice. 883e35b
@StanAngeloff Tiny spelling correction, #nfc. 6d41154
@StanAngeloff Whoops, collect garbage properly.
The previous code was off-by-one causing Lotte to hang in certain situations.
@StanAngeloff Add support for client -> server notifications and message passing.
Using @notify(event, ...args, resume) tests can talk to Node.js on the
server-side. Data can be exchanged as long as it is serialisable.

See / Lottefile for an example.
@StanAngeloff {notify => message} 4aa25fe
@StanAngeloff Don't duplicate default values, trust the defaults or the command line.
The default values are already supplied to Optimist. If something goes wrong,
complain about it rather than reverting to the safe defaults.
@StanAngeloff Add experimental start/before/after/exit events.
All events are asynchronous and they must have a valid signature.
Once an event/message is processed, the continuation block must be called
for Lotte to resume.

- 'start'  function(options,    resume) { resume(); }
- 'before' function(file,       resume) { reusme(); }
- 'after'  function(file, code, resume) { resume(); }
- 'exit'   function(code,       resume) { resume(); }


- 'options' is an array derived from the command-line or a Lottefile
- 'file' is a test file (absolute path)
- 'code' is the exit code either of the test file or the entire suite
@StanAngeloff Whoops, 'require' is not a global, but a built-in. 859476e
@StanAngeloff Allow Lottefile to be written in CoffeeScript.
Supported Lottefile languages are now: JavaScript, CoffeeScript.
Commits on Dec 12, 2011
@grayt0r grayt0r Replaced need for mktemp with node.temp lib 4e9f39b
Commits on Dec 13, 2011
@StanAngeloff Merge remote-tracking branch 'grayt0r/master' a196700
@StanAngeloff Use module 'tmp' instead of 'temp'.
'temp' seems to be incompatible with Node.js 0.6.x as it still relies
on the 'sys' module.

'tmp' on the other hand seems to have been updated recently and have
better version history on
@StanAngeloff Drop --mktemp option from the command line (see previous commit). cd05fc2
Commits on Apr 25, 2012
@StanAngeloff Add (verified) support for PhantomJS 1.4.x and 1.5.x.
All available tests run under these versions.
@StanAngeloff Bump version number and fix package.json for naughty NPM.
There is still an open bug at:

This commit is a workaround, but doesn't fix the issue which still exists
in NPM.
Commits on Sep 07, 2012
@StanAngeloff Emit 'compile' to allow hooks to modify the code before it's compiled.
This commit allows a hook to modify the contents of the file being
compiled. That can be used to process directives, such as custom
require's, etc.
@StanAngeloff Add (verified) support for PhantomJS 1.6.x.
All available tests run under that version.
@StanAngeloff "path.exists is now called `fs.exists`." OK, got it.
This commit bumps the required Node.js version to >=0.8. As a result, we
need to take care of some deprecation warnings such as the one listed in
the subject of this commit.
@StanAngeloff Bump dependencies versions in package.json and address deprecations.
This commit tracks the latest versions of dependencies listed in
package.json. As a result of the upgrade, the Express server in
test/server.js had to be updated as well.
@StanAngeloff Drop 'findit' and use 'walkdir', support Windows.
This commit drops 'findit' as it has issues running on Windows, see

'walkdir' works around this issue by not using the inode value of a file
if it's not supplied by Node.js.
@StanAngeloff Bump version. d966ad7
@StanAngeloff Update README 'Prerequisites' section, #nfc. 10a4795
@StanAngeloff Bump version, use proper "semver string". b5bb6c7
@StanAngeloff Warn when files were not found or matched include/exclude patterns, c…
…loses #5.

Bump version as well, w00t!
Something went wrong with that request. Please try again.