Sha256: 5668b882f0a2e4e970e8c412958f107f6db0cbea4bad7b1f1fa82cd06c3182c5

Contents?: true

Size: 1.46 KB

Versions: 31

Compression:

Stored size: 1.46 KB

Contents

var util = require('util');
var EventEmitter = require('events').EventEmitter;
var assert = require('assert');
require('should');


function FakeStream() {
	EventEmitter.call(this);
	this.paused = false;
	this.connection = {};
}

util.inherits(FakeStream, EventEmitter);

FakeStream.prototype.resume = function() {
	this.paused = false;
	this.flowing = true;
}

FakeStream.prototype.pause = function() {
	this.paused = true;
	this.flowing = false;
}

FakeStream.prototype.on = function(event, listener) {
	EventEmitter.prototype.on.call(this, event, listener);
	// If listening to data, and it has not explicitly been paused,
	// then call resume to start the flow of data.
	if (event == 'data' && this.flowing !== false) {
		this.resume();
	}
}

exports.FakeStream = FakeStream;


var Helper = {
	eventually: function(timeout, check, done) {
		var startTime = new Date();
		var id = setInterval(function() {
			if (check()) {
				clearInterval(id);
				done();
			} else if (new Date() - startTime > timeout) {
				clearInterval(id);
				assert.fail("Something which should eventually happen never happened");
			}
		}, 10);
	},

	shouldNeverHappen: function(timeout, check, done) {
		var startTime = new Date();
		var id = setInterval(function() {
			if (check()) {
				clearInterval(id);
				assert.fail("Something which should never happen, happened anyway");
			} else if (new Date() - startTime > timeout) {
				clearInterval(id);
				done();
			}
		}, 10);
	}
};

exports.Helper = Helper;

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
passenger-4.0.60 test/node/spec_helper.js
passenger-5.0.4 test/node/spec_helper.js
passenger-5.0.3 test/node/spec_helper.js
passenger-5.0.2 test/node/spec_helper.js
passenger-5.0.1 test/node/spec_helper.js
passenger-5.0.0.rc2 test/node/spec_helper.js
passenger-5.0.0.rc1 test/node/spec_helper.js
passenger-4.0.59 test/node/spec_helper.js
passenger-5.0.0.beta3 test/node/spec_helper.js
passenger-4.0.58 test/node/spec_helper.js
passenger-4.0.57 test/node/spec_helper.js
passenger-5.0.0.beta2 test/node/spec_helper.js
passenger-4.0.56 test/node/spec_helper.js
passenger-4.0.55 test/node/spec_helper.js
passenger-5.0.0.beta1 test/node/spec_helper.js
passenger-4.0.53 test/node/spec_helper.js
passenger-4.0.52 test/node/spec_helper.js
passenger-4.0.51 test/node/spec_helper.js
passenger-4.0.50 test/node/spec_helper.js
passenger-4.0.49 test/node/spec_helper.js