Example #1
0
File: test.js Project: nozer0/test
	exports.run = function (cases) {
		var o = {cases : cases, success : success, fail : fail, finish : finish}, p, t = o.start = new Date(), ret, sync = true;
		o.total = o.tested = o.passed = 0;
		log.log('start test ' + (o.name = cases.name || 'o_p') + ' (' + t.toLocaleTimeString() + '):');
		log.log('--->>>');
		if (typeof cases.setUp === 'function') {
			cases.setUp();
		}
		for (p in cases) {
			if (cases.hasOwnProperty(p) && p.indexOf('test') === 0 && typeof cases[p] === 'function') {
				o.total += 1;
				try {
					ret = cases[p]();
					if (ret !== false) {
						o.passed += 1;
						o.tested += 1;
						log.log(p + ' passed');
					} else if (sync) {
						sync = false;
					}
				} catch (e) {
					o.tested += 1;
					log.error(p + ' failed' + ', expected: ' + (e.expected.toSource ? e.expected.toSource() : e.expected) + ', actual: ' + (e.actual && e.actual.toSource ? e.actual.toSource() : e.actual));
				}
			}
		}
		if (sync) {
			finish.call(o);
		}
		return o;
	};
Example #2
0
File: test.js Project: nozer0/test
	}, fail = function (name, whole, e) {
		log.error(name + ' failed' + (e ? ', expected: ' + (e.expected.toSource ? e.expected.toSource() : e.expected) + ', actual: ' + (e.actual && e.actual.toSource ? e.actual.toSource() : e.actual) : ''));
		if (whole) {
			this.tested += 1;
			if (this.tested === this.total) {
				this.finish();
			}
		}
	}, finish = function () {