本文整理汇总了TypeScript中app/shared/scroll-spy.service.ScrollSpyService.spyOn方法的典型用法代码示例。如果您正苦于以下问题:TypeScript service.ScrollSpyService.spyOn方法的具体用法?TypeScript service.ScrollSpyService.spyOn怎么用?TypeScript service.ScrollSpyService.spyOn使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类app/shared/scroll-spy.service.ScrollSpyService
的用法示例。
在下文中一共展示了service.ScrollSpyService.spyOn方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: it
it('should forward `ScrollSpiedElementGroup#activeScrollItem` as `active`', () => {
const activeIndices1: (number | null)[] = [];
const activeIndices2: (number | null)[] = [];
const info1 = scrollSpyService.spyOn([]);
const info2 = scrollSpyService.spyOn([]);
const spiedElemGroups = getSpiedElemGroups();
info1.active.subscribe(item => activeIndices1.push(item && item.index));
info2.active.subscribe(item => activeIndices2.push(item && item.index));
activeIndices1.length = 0;
activeIndices2.length = 0;
spiedElemGroups[0].activeScrollItem.next({index: 1} as ScrollItem);
spiedElemGroups[0].activeScrollItem.next({index: 2} as ScrollItem);
spiedElemGroups[1].activeScrollItem.next({index: 3} as ScrollItem);
spiedElemGroups[0].activeScrollItem.next(null);
spiedElemGroups[1].activeScrollItem.next({index: 4} as ScrollItem);
spiedElemGroups[1].activeScrollItem.next(null);
spiedElemGroups[0].activeScrollItem.next({index: 5} as ScrollItem);
spiedElemGroups[1].activeScrollItem.next({index: 6} as ScrollItem);
expect(activeIndices1).toEqual([1, 2, null, 5]);
expect(activeIndices2).toEqual([3, 4, null, 6]);
});
示例2: it
it('should call `onResize()` if it is the first `ScrollSpiedElementGroup`', () => {
const actions: string[] = [];
const onResizeSpy = spyOn(ScrollSpyService.prototype as any, 'onResize')
.and.callFake(() => actions.push('onResize'));
const calibrateSpy = spyOn(ScrollSpiedElementGroup.prototype, 'calibrate')
.and.callFake(() => actions.push('calibrate'));
expect(onResizeSpy).not.toHaveBeenCalled();
scrollSpyService.spyOn([]);
expect(actions).toEqual(['onResize', 'calibrate']);
scrollSpyService.spyOn([]);
expect(actions).toEqual(['onResize', 'calibrate', 'calibrate']);
});
示例3: it
it('should only fire every 300ms', fakeAsync(() => {
scrollSpyService.spyOn([]);
window.dispatchEvent(new Event('scroll'));
tick(100);
expect(onScrollSpy).not.toHaveBeenCalled();
window.dispatchEvent(new Event('scroll'));
tick(100);
expect(onScrollSpy).not.toHaveBeenCalled();
window.dispatchEvent(new Event('scroll'));
tick(100);
expect(onScrollSpy).toHaveBeenCalledTimes(1);
onScrollSpy.calls.reset();
tick(150);
window.dispatchEvent(new Event('scroll'));
tick(100);
expect(onScrollSpy).not.toHaveBeenCalled();
window.dispatchEvent(new Event('scroll'));
tick(100);
expect(onScrollSpy).not.toHaveBeenCalled();
window.dispatchEvent(new Event('scroll'));
tick(100);
expect(onScrollSpy).toHaveBeenCalledTimes(1);
}));