提交 41c0ba49 编写于 作者: J Joao Moreno

ipc.test -> ipc.cp.test

上级 5e52353f
......@@ -20,85 +20,82 @@ function createClient(): Client {
});
}
suite('IPC', () => {
suite('child process', () => {
suite('IPC, Child Process', () => {
test('createChannel', () => {
const client = createClient();
const channel = client.getChannel<ITestChannel>('test');
const service = new TestServiceClient(channel);
const result = service.pong('ping').then(r => {
assert.equal(r.incoming, 'ping');
assert.equal(r.outgoing, 'pong');
});
test('createChannel', () => {
const client = createClient();
const channel = client.getChannel<ITestChannel>('test');
const service = new TestServiceClient(channel);
return always(result, () => client.dispose());
});
const result = service.pong('ping').then(r => {
assert.equal(r.incoming, 'ping');
assert.equal(r.outgoing, 'pong');
});
test('cancellation', () => {
const client = createClient();
const channel = client.getChannel<ITestChannel>('test');
const service = new TestServiceClient(channel);
const res = service.cancelMe();
return always(result, () => client.dispose());
});
setTimeout(() => res.cancel(), 50);
test('cancellation', () => {
const client = createClient();
const channel = client.getChannel<ITestChannel>('test');
const service = new TestServiceClient(channel);
const res = service.cancelMe();
const result = res.then(
() => assert.fail('Unexpected'),
err => assert.ok(err && isPromiseCanceledError(err))
);
setTimeout(() => res.cancel(), 50);
return always(result, () => client.dispose());
});
const result = res.then(
() => assert.fail('Unexpected'),
err => assert.ok(err && isPromiseCanceledError(err))
);
test('events', () => {
const client = createClient();
const channel = client.getChannel<ITestChannel>('test');
const service = new TestServiceClient(channel);
return always(result, () => client.dispose());
const event = new TPromise((c, e) => {
service.onMarco(({ answer }) => {
try {
assert.equal(answer, 'polo');
c(null);
} catch (err) {
e(err);
}
});
});
test('events', () => {
const client = createClient();
const channel = client.getChannel<ITestChannel>('test');
const service = new TestServiceClient(channel);
const event = new TPromise((c, e) => {
service.onMarco(({ answer }) => {
try {
assert.equal(answer, 'polo');
c(null);
} catch (err) {
e(err);
}
});
});
const request = service.marco();
const result = TPromise.join<any>([request, event]);
const request = service.marco();
const result = TPromise.join<any>([request, event]);
return always(result, () => client.dispose());
});
return always(result, () => client.dispose());
});
test('event dispose', () => {
const client = createClient();
const channel = client.getChannel<ITestChannel>('test');
const service = new TestServiceClient(channel);
test('event dispose', () => {
const client = createClient();
const channel = client.getChannel<ITestChannel>('test');
const service = new TestServiceClient(channel);
let count = 0;
const disposable = service.onMarco(() => count++);
let count = 0;
const disposable = service.onMarco(() => count++);
const result = service.marco().then(answer => {
assert.equal(answer, 'polo');
assert.equal(count, 1);
const result = service.marco().then(answer => {
return service.marco().then(answer => {
assert.equal(answer, 'polo');
assert.equal(count, 1);
assert.equal(count, 2);
disposable.dispose();
return service.marco().then(answer => {
assert.equal(answer, 'polo');
assert.equal(count, 2);
disposable.dispose();
return service.marco().then(answer => {
assert.equal(answer, 'polo');
assert.equal(count, 2);
});
});
});
return always(result, () => client.dispose());
});
return always(result, () => client.dispose());
});
});
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册