aok

Extensible test suite API.

  • aok

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
aok
301.9.010 years ago11 years agoMinified + gzip package size for aok in KB

Readme

Extensible JavaScript test suite module

API (1.9)

aok() → aok instance

Syntaxes

Properties

  • id: identifier or name for the test (defaults to a positive integer)
  • test: result or callback (called in the instance's scope)
  • pass: message or callback (default: "ok")
  • fail: message or callback (default: "FAIL")
  • handler: defaults to aok.prototype.handler
  • express: defaults to aok.prototype.express
  • explain: defaults to aok.prototype.explain
  • run: defaults to aok.prototype.run
  • cull: defaults to aok.prototype.cull
  • init: defaults to aok.prototype.init

Verbose syntax

aok(object)
```js aok({ id: 'example', test: function() {
return 'example' === this.id;
} }); ```

Anonymous syntax

aok(test) for non-object tests
```js aok(true); aok(aok instanceof aok); aok(function() { return isFinite(this.id); }); ```

Pair syntax

aok(id, test) 1.8+
```js aok('example', true); aok('example', function() { return true; }); ```

Idle syntax

Calling aok() without arguments creates an idle instance that can manually be run later.
```js var o = aok(); o.test = true; o.run(); ```

Console methods

uses native console where available

  • aok.log(message)
  • aok.info(message)
  • aok.warn(message)
  • aok.error(message)
  • aok.assert(expression, message) 1.6+
  • aok.trace()
  • aok.clear() 1.7+

Utilities

aok.can(fn)

  • Get a new function that uses try/catch to test if fn can run.
  • ⇒ Function (⇒ boolean)

aok.pass(stack, fn, scope?, limit?)

  • Iterate stack to count passes until limit. (example)
  • ⇒ number

aok.fail(stack, fn, scope?, limit?)

  • Iterate stack to count fails until limit. (example)
  • ⇒ number

aok.perform(trials, fn)

  • Test how many milliseconds it takes fn to run trials times.
  • ⇒ number

aok.race(trials, rivals)

  • Test how many milliseconds it takes each rival to run trials times.
  • ⇒ Array

aok.result(object, key|fn)

  • Get object[key] or its method's result if callable.

aok.explain(item?)

  • Represent item (or self) as a string.
  • ⇒ string

grunt aok

aok 1.5+ includes a simple grunt task for running tests via grunt

Configure files to require
```js grunt.initConfig({ aok: {
test: ['./test/'],
extras: ['./test/extras'] 
} }); ```
Load task 'aok'
```js grunt.loadNpmTasks('aok'); ```
Run 'aok' tasks
```sh $ grunt aok $ grunt aok:test $ grunt aok:extras ```

Resources

Developers

Contribute edits to /src or report issues

```sh $ npm install # install dependencies $ grunt jshint:sub # lint sub dirs $ grunt aok # run tests ``` Builds have +timestamp in the version
number and are made later via grunt.

Fund

Tip the developer =)

License

MIT