本文整理汇总了TypeScript中@angular/core/src/testability/testability.Testability类的典型用法代码示例。如果您正苦于以下问题:TypeScript Testability类的具体用法?TypeScript Testability怎么用?TypeScript Testability使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Testability类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: describe
describe('Testability', () => {
var testability: Testability;
var execute: any;
var execute2: any;
var ngZone: MockNgZone;
beforeEach(() => {
ngZone = new MockNgZone();
testability = new Testability(ngZone);
execute = new SpyObject().spy('execute');
execute2 = new SpyObject().spy('execute');
});
describe('Pending count logic', () => {
it('should start with a pending count of 0',
() => { expect(testability.getPendingRequestCount()).toEqual(0); });
it('should fire whenstable callbacks if pending count is 0',
inject([AsyncTestCompleter], (async: any /** TODO #9100 */) => {
testability.whenStable(execute);
microTask(() => {
expect(execute).toHaveBeenCalled();
async.done();
});
}));
it('should not fire whenstable callbacks synchronously if pending count is 0', () => {
testability.whenStable(execute);
expect(execute).not.toHaveBeenCalled();
});
it('should not call whenstable callbacks when there are pending counts',
inject([AsyncTestCompleter], (async: any /** TODO #9100 */) => {
testability.increasePendingRequestCount();
testability.increasePendingRequestCount();
testability.whenStable(execute);
microTask(() => {
expect(execute).not.toHaveBeenCalled();
testability.decreasePendingRequestCount();
microTask(() => {
expect(execute).not.toHaveBeenCalled();
async.done();
});
});
}));
it('should fire whenstable callbacks when pending drops to 0',
inject([AsyncTestCompleter], (async: any /** TODO #9100 */) => {
testability.increasePendingRequestCount();
testability.whenStable(execute);
microTask(() => {
expect(execute).not.toHaveBeenCalled();
testability.decreasePendingRequestCount();
microTask(() => {
expect(execute).toHaveBeenCalled();
async.done();
});
});
}));
it('should not fire whenstable callbacks synchronously when pending drops to 0', () => {
testability.increasePendingRequestCount();
testability.whenStable(execute);
testability.decreasePendingRequestCount();
expect(execute).not.toHaveBeenCalled();
});
it('should fire whenstable callbacks with didWork if pending count is 0',
inject([AsyncTestCompleter], (async: any /** TODO #9100 */) => {
testability.whenStable(execute);
microTask(() => {
expect(execute).toHaveBeenCalledWith(false);
async.done();
});
}));
it('should fire whenstable callbacks with didWork when pending drops to 0',
inject([AsyncTestCompleter], (async: any /** TODO #9100 */) => {
testability.increasePendingRequestCount();
testability.whenStable(execute);
microTask(() => {
testability.decreasePendingRequestCount();
microTask(() => {
expect(execute).toHaveBeenCalledWith(true);
testability.whenStable(execute2);
microTask(() => {
expect(execute2).toHaveBeenCalledWith(false);
async.done();
});
});
});
}));
//.........这里部分代码省略.........
示例2: it
it('should list pending tasks when the timeout is hit', fakeAsync(() => {
const id = ngZone.run(() => setTimeout(() => {}, 1000));
testability.whenStable(execute, 200);
expect(execute).not.toHaveBeenCalled();
tick(200);
expect(execute).toHaveBeenCalled();
const tasks = execute.calls.mostRecent().args[1] as PendingMacrotask[];
expect(tasks.length).toEqual(1);
expect(tasks[0].data).toBeTruthy();
expect(tasks[0].data !.delay).toEqual(1000);
expect(tasks[0].source).toEqual('setTimeout');
expect(tasks[0].data !.isPeriodic).toEqual(false);
clearTimeout(id);
}));
示例3: it
it('cancels the done callback if the update callback returns true', fakeAsync(() => {
let timeoutDone = false;
ngZone.unstable();
execute2.and.returnValue(true);
testability.whenStable(execute, 1000, execute2);
tick(100);
ngZone.run(() => setTimeout(() => timeoutDone = true, 500));
ngZone.stable();
expect(execute2).toHaveBeenCalled();
tick(500);
ngZone.stable();
tick();
expect(execute).not.toHaveBeenCalled();
}));
示例4: inject
inject([AsyncTestCompleter], (async: any /** TODO #9100 */) => {
ngZone.unstable();
testability.whenStable(execute);
microTask(() => {
ngZone.stable();
microTask(() => {
expect(execute).toHaveBeenCalledWith(true);
testability.whenStable(execute2);
microTask(() => {
expect(execute2).toHaveBeenCalledWith(false);
async.done();
});
});
});
}));
示例5: it
it('calls the done callback when angular is stable', fakeAsync(() => {
let timeout1Done = false;
ngZone.run(() => setTimeout(() => timeout1Done = true, 500));
testability.whenStable(execute, 1000);
tick(600);
ngZone.stable();
tick();
expect(timeout1Done).toEqual(true);
expect(execute).toHaveBeenCalled();
// Should cancel the done timeout.
tick(500);
ngZone.stable();
tick();
expect(execute.calls.count()).toEqual(1);
}));
示例6: it
it('should not fire whenstable callbacks synchronously if pending count is 0', () => {
testability.whenStable(execute);
expect(execute).not.toHaveBeenCalled();
});
示例7: expect
() => { expect(testability.getPendingRequestCount()).toEqual(0); });
示例8: microTask
microTask(() => {
expect(execute).not.toHaveBeenCalled();
testability.decreasePendingRequestCount();
microTask(() => { expect(execute).toHaveBeenCalled(); });
});