本文整理匯總了TypeScript中angular2/core/testing.inject函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript inject函數的具體用法?TypeScript inject怎麽用?TypeScript inject使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了inject函數的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: describe
describe('DOM tests:', () => {
it('should display the correct number of items per page (10)',
inject([TestComponentBuilder], (tcb: TestComponentBuilder) => {
tcb.createAsync(TestCmp)
.then((fixture: ComponentFixture<TestCmp>) => {
fixture.detectChanges();
expect(getListItems(fixture).length).toBe(10);
});
}));
it('should display the correct number of items per page (50)',
inject([TestComponentBuilder], (tcb: TestComponentBuilder) => {
tcb.createAsync(TestCmp)
.then((fixture: ComponentFixture<TestCmp>) => {
let instance: TestCmp = fixture.componentInstance;
instance.config.itemsPerPage = 50;
fixture.detectChanges();
expect(getListItems(fixture).length).toBe(50);
});
}));
it('should display the correct number of items, after itemsPerPage & currentPage change',
inject([TestComponentBuilder], (tcb: TestComponentBuilder) => {
tcb.createAsync(TestCmp)
.then((fixture: ComponentFixture<TestCmp>) => {
let instance: TestCmp = fixture.componentInstance;
instance.config.itemsPerPage = 10;
fixture.detectChanges();
expect(getListItems(fixture).length).toBe(10);
let expected = ['item 4', 'item 5', 'item 6'];
instance.config.itemsPerPage = 3;
instance.config.currentPage = 2;
fixture.detectChanges();
expect(getListItemsText(fixture)).toEqual(expected);
expect(getListItems(fixture).length).toBe(3);
});
}));
it('should display the correct items on init',
inject([TestComponentBuilder], (tcb: TestComponentBuilder) => {
tcb.createAsync(TestCmp)
.then((fixture: ComponentFixture<TestCmp>) => {
let instance: TestCmp = fixture.componentInstance;
instance.config.itemsPerPage = 3;
fixture.detectChanges();
let expected = ['item 1', 'item 2', 'item 3'];
expect(getListItemsText(fixture)).toEqual(expected);
});
}));
it('should not mutate the collection',
inject([TestComponentBuilder], (tcb: TestComponentBuilder) => {
tcb.createAsync(TestCmp)
.then((fixture: ComponentFixture<TestCmp>) => {
let instance: TestCmp = fixture.componentInstance;
expect(instance.collection.length).toBe(100);
instance.config.itemsPerPage = 50;
fixture.detectChanges();
expect(instance.collection.length).toBe(100);
instance.config.itemsPerPage = 75;
fixture.detectChanges();
expect(instance.collection.length).toBe(100);
});
}));
it('should default to page 1 if currentPage not set',
inject([TestComponentBuilder], (tcb: TestComponentBuilder) => {
tcb.createAsync(TestCmp)
.then((fixture: ComponentFixture<TestCmp>) => {
let instance: TestCmp = fixture.componentInstance;
instance.config.itemsPerPage = 3;
instance.config.currentPage = undefined;
fixture.detectChanges();
let expected = ['item 1', 'item 2', 'item 3'];
expect(getListItemsText(fixture)).toEqual(expected);
});
}));
});
示例2: describe
describe('PaginationControlsCmp:', () => {
it('should display the correct page links (simple)',
inject([TestComponentBuilder], (tcb: TestComponentBuilder) => {
tcb.createAsync(TestCmp)
.then((fixture: ComponentFixture<TestCmp>) => {
let instance: TestCmp = fixture.componentInstance;
instance.config.itemsPerPage = 30;
fixture.detectChanges();
let expected = ['1', '2', '3', '4'];
expect(getPageLinkItems(fixture)).toEqual(expected);
});
}));
it('should display the correct page links (end ellipsis)',
inject([TestComponentBuilder], (tcb: TestComponentBuilder) => {
tcb.createAsync(TestCmp)
.then((fixture: ComponentFixture<TestCmp>) => {
let instance: TestCmp = fixture.componentInstance;
instance.config.itemsPerPage = 10;
fixture.detectChanges();
let expected = ['1', '2', '3', '4', '5', '6', '7', '...', '10'];
expect(getPageLinkItems(fixture)).toEqual(expected);
});
}));
it('should display the correct page links (start ellipsis)',
inject([TestComponentBuilder], (tcb: TestComponentBuilder) => {
tcb.createAsync(TestCmp)
.then((fixture: ComponentFixture<TestCmp>) => {
let instance: TestCmp = fixture.componentInstance;
instance.config.itemsPerPage = 10;
instance.config.currentPage = 10;
fixture.detectChanges();
let expected = ['1', '...', '4', '5', '6', '7', '8', '9', '10'];
expect(getPageLinkItems(fixture)).toEqual(expected);
});
}));
it('should display the correct page links (double ellipsis)',
inject([TestComponentBuilder], (tcb: TestComponentBuilder) => {
tcb.createAsync(TestCmp)
.then((fixture: ComponentFixture<TestCmp>) => {
let instance: TestCmp = fixture.componentInstance;
instance.config.itemsPerPage = 1;
instance.config.currentPage = 50;
fixture.detectChanges();
let expected = ['1', '...', '48', '49', '50', '51', '52', '...', '100'];
expect(getPageLinkItems(fixture)).toEqual(expected);
});
}));
it('should update links when collection size changes',
inject([TestComponentBuilder], fakeAsync((tcb: TestComponentBuilder) => {
tcb.createAsync(TestCmp)
.then((fixture: ComponentFixture<TestCmp>) => {
let instance: TestCmp = fixture.componentInstance;
let expected = ['1', '2', '3', '4', '5', '6', '7', '...', '10'];
fixture.detectChanges();
expect(getPageLinkItems(fixture)).toEqual(expected);
instance.collection.push('item 101');
fixture.detectChanges();
tick();
fixture.detectChanges();
expected = ['1', '2', '3', '4', '5', '6', '7', '...', '11'];
expect(getPageLinkItems(fixture)).toEqual(expected);
});
})));
it('should update the currently-active page when currentPage changes',
inject([TestComponentBuilder], (tcb: TestComponentBuilder) => {
tcb.createAsync(TestCmp)
.then((fixture: ComponentFixture<TestCmp>) => {
let instance: TestCmp = fixture.componentInstance;
let controlsInstance: PaginationControlsCmp = fixture
.debugElement.query(By.css('pagination-controls')).componentInstance;
fixture.detectChanges();
expect(controlsInstance.getCurrent()).toBe(1);
instance.config.currentPage = 2;
fixture.detectChanges();
expect(controlsInstance.getCurrent()).toBe(2);
});
}));
it('should update the currently-active page when currentPage becomes invalid (too high)',
inject([TestComponentBuilder], fakeAsync((tcb: TestComponentBuilder) => {
tcb.createAsync(TestCmp)
.then((fixture: ComponentFixture<TestCmp>) => {
let instance: TestCmp = fixture.componentInstance;
let controlsInstance: PaginationControlsCmp = fixture
.debugElement.query(By.css('pagination-controls')).componentInstance;
//.........這裏部分代碼省略.........