Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

tart-nodeunit

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

tart-nodeunit

Tart nodeunit

  • 0.1.1
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

tart-nodeunit

Adapter for nodeunit testing (tart module)

Contributors

@dalnefre, @tristanls

Overview

Adapter for nodeunit testing (tart module)

Usage

To run the below example run:

npm run test
"use strict";

var adapter = require('../index.js');

var test = module.exports = {};

test["example from tart-tracing exercises all actor primitives"] = function (test) {
    test.expect(4);
    var testing = adapter.testing(test);

    var oneTimeBeh = function oneTimeBeh(message) {
        test.equal(message, 'bar');
        var child = this.sponsor(createdBeh); // create
        child('foo'); // send
        this.behavior = becomeBeh; // become
    };
    var createdBeh = function createdBeh(message) {
        test.equal(message, 'foo');
    };
    var becomeBeh = function becomeBeh(message) {
        test.equal(message, 'baz');
    };

    var actor = testing.sponsor(oneTimeBeh);  // create
    actor('bar');  // send
    actor('baz');  // send

    test.ok(testing.dispatch());
    test.done();
};

Tests

npm test

Documentation

tart-nodeunit is an adaptor for running nodeunit tests.

Public API

tart.testing(test)

  • test: Object nodeunit test object.
  • Return: Object The testing control object.
    • sponsor: Function function (behavior) {} A capability to create new actors.
    • dispatch: Function function ([options]) {} Function to call to dispatch events. Returns true when there are no more events.
    • tracing: Object Tracing control object.

Returns the testing control object.

testing.sponsor(behavior)

  • behavior: Function function (message) {} Actor behavior to invoke every time an actor receives a message.
  • Return: Function function (message) {} Actor reference in form of a capability that can be invoked to send the actor a message.

Creates a new (traceable) actor and returns the actor reference in form of a capability to send that actor a message.

var adapter = require('../index.js');
var test = module.exports = {};
test["sponsor creates an actor"] = function (test) {
    test.expect(2);
    var testing = adapter.testing(test);

    var actor = testing.sponsor(function (message) {  // create
        test.ok(message);
    });
    actor(true);  // send

    test.ok(testing.dispatch());
    test.done();
};

testing.dispatch([options])

  • options: Object (Default: { fail: function(exception) { throw exception; } }) Optional overrides.
    • fail: Function function (exception){} Function called to report exceptions from actor behavior (Example: function (exception){ /* ignore exceptions */ }).
    • count: Number (Default: undefined) Maximum number of events to dispatch, or unlimited if undefined.
  • Return: Boolean. true if event queue is exhausted, otherwise false.

Dispatch events. If options.count is specified, dispatch at most options.count events. When the event queue is exhausted, return true. Otherwise return false. If an actor behavior throws an exception, options.fail() is called to handle it. The default implementation of options.fail() throws the exception out of testing.dispatch().

var adapter = require('../index.js');
var test = module.exports = {};
test["dispatch delivers limited number of events"] = function (test) {
    test.expect(4);
    var testing = adapter.testing(test);

    var actor = testing.sponsor(function (message) {  // create
        test.ok(message);
        this.self(message + 1);  // send
    });
    actor(1);  // send

    var done = testing.dispatch({ count: 3 });
    test.strictEqual(done, false);
    test.done();
};

Sources

Keywords

FAQs

Package last updated on 16 Dec 2013

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc