'use strict';

var test = require('../');

test('Harness async test support', function (t) {
	t.plan(3);

	t.ok(true, 'sync child A');

	t.test('sync child B', function (tt) {
		tt.plan(2);

		setTimeout(function () {
			tt.test('async grandchild A', function (ttt) {
				ttt.plan(1);
				ttt.ok(true);
			});
		}, 50);

		setTimeout(function () {
			tt.test('async grandchild B', function (ttt) {
				ttt.plan(1);
				ttt.ok(true);
			});
		}, 100);
	});

	setTimeout(function () {
		t.test('async child', function (tt) {
			tt.plan(2);
			tt.ok(true, 'sync grandchild in async child A');
			tt.test('sync grandchild in async child B', function (ttt) {
				ttt.plan(1);
				ttt.ok(true);
			});
		});
	}, 200);
});
