aok

    1.9.0 • Public • Published

    aok

    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)
    aok({
      id: 'example',
      test: function() {
        return 'example' === this.id;
      }
    });

    Anonymous syntax

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

    Pair syntax

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

    Idle syntax

    Calling aok() without arguments creates an idle instance that can manually be run later.
    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
    grunt.initConfig({
      aok: {
        test: ['./test/'],
        extras: ['./test/extras'] 
      }
    });
    Load task 'aok'
    grunt.loadNpmTasks('aok');
    Run 'aok' tasks
    $ grunt aok
    $ grunt aok:test
    $ grunt aok:extras

    Resources

    Developers

    Contribute edits to /src or report issues

    $ 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

    Install

    npm i aok

    DownloadsWeekly Downloads

    3

    Version

    1.9.0

    License

    MIT

    Last publish

    Collaborators

    • ryanve