本文整理汇总了TypeScript中angular2/core/testing.describe函数的典型用法代码示例。如果您正苦于以下问题:TypeScript describe函数的具体用法?TypeScript describe怎么用?TypeScript describe使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了describe函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。
示例1: describe
describe('PaginationService:', () => {
let service: PaginationService;
let instance: IPaginationInstance;
const ID = 'test';
beforeEach(() => {
service = new PaginationService();
instance = {
id: ID,
itemsPerPage: 10,
totalItems: 100,
currentPage: 1
}
});
it('should register the instance', () => {
service.register(instance);
expect(service.getInstance(ID)).toEqual(instance);
});
it('getInstance() should return a clone of the instance', () => {
service.register(instance);
expect(service.getInstance(ID)).not.toBe(instance);
});
it('setCurrentPage() should work for valid page number', () => {
service.register(instance);
service.setCurrentPage(ID, 3);
expect(service.getCurrentPage(ID)).toBe(3);
});
it('setCurrentPage() should work for max page number', () => {
service.register(instance);
service.setCurrentPage(ID, 10);
expect(service.getCurrentPage(ID)).toBe(10);
});
it('setCurrentPage() should not change page if new page is too high', () => {
service.register(instance);
service.setCurrentPage(ID, 11);
expect(service.getCurrentPage(ID)).toBe(1);
});
it('setCurrentPage() should not change page if new page is less than 1', () => {
service.register(instance);
service.setCurrentPage(ID, 0);
expect(service.getCurrentPage(ID)).toBe(1);
});
it('setTotalItems() should work for valid input', () => {
service.register(instance);
service.setTotalItems(ID, 500);
expect(service.getInstance(ID).totalItems).toBe(500);
});
it('setTotalItems() should not work for negative values', () => {
service.register(instance);
service.setTotalItems(ID, -10);
expect(service.getInstance(ID).totalItems).toBe(100);
});
});
开发者ID:artemsilin,项目名称:ng2-pagination,代码行数:63,代码来源:pagination-service.spec.ts
示例2: describe
import {
describe,
expect,
it
} from 'angular2/core/testing';
import { HomeComponent } from './home.component';
describe('Home Component', () => {
it('should be named `HomeComponent`', () => {
expect(HomeComponent['name']).toBe('HomeComponent');
});
it('should have a method called `updateMessage`', () => {
expect(HomeComponent.prototype.updateMessage).toBeDefined();
});
});
开发者ID:danfs,项目名称:office,代码行数:17,代码来源:home.component.spec.ts
示例3: it
it('should allow independent instances by setting an id', () => {
let config1 = {
id: 'first_one',
itemsPerPage: 10,
currentPage: 1
};
let config2 = {
id: 'other_one',
itemsPerPage: 50,
currentPage: 2
};
let result1 = pipe.transform(collection, [config1]);
let result2 = pipe.transform(collection, [config2]);
expect(result1.length).toBe(10);
expect(result1[0]).toBe('item 1');
expect(result1[9]).toBe('item 10');
expect(result2.length).toBe(50);
expect(result2[0]).toBe('item 51');
expect(result2[49]).toBe('item 100');
describe('server-side pagination', () => {
let config: IPaginationInstance;
beforeEach(() => {
config = {
itemsPerPage: 10,
currentPage: 1,
totalItems: 500
};
});
it('should truncate collection', () => {
collection = collection.slice(0, 10);
let result = pipe.transform(collection, [config]);
expect(result.length).toBe(10);
expect(result[0]).toBe('item 1');
expect(result[9]).toBe('item 10');
});
it('should display page 2', () => {
collection = collection.slice(10, 10);
config.currentPage = 2;
let result = pipe.transform(collection, [config]);
expect(result.length).toBe(10);
expect(result[0]).toBe('item 11');
expect(result[9]).toBe('item 20');
});
});
it('should return identical array for the same input values', () => {
let config = {
id: 'first_one',
itemsPerPage: 10,
currentPage: 1
};
let result1 = pipe.transform(collection, [config]);
let result2 = pipe.transform(collection, [config]);
expect(result1 === result2).toBe(true);
});
});
开发者ID:artemsilin,项目名称:ng2-pagination,代码行数:67,代码来源:paginate-pipe.spec.ts
示例4: describe
describe('PaginatePipe:', () => {
let pipe: PaginatePipe;
let paginationService: PaginationService;
let collection;
beforeEach(() => {
paginationService = new PaginationService();
pipe = new PaginatePipe(paginationService);
collection = [];
for (let i = 0; i < 100; i++) {
collection.push(`item ${i + 1}`);
}
});
it('should truncate collection', () => {
let result = pipe.transform(collection, [{ itemsPerPage: 10, currentPage: 1 }]);
expect(result.length).toBe(10);
expect(result[0]).toBe('item 1');
expect(result[9]).toBe('item 10');
});
it('should register with the PaginationService', () => {
pipe.transform(collection, [{ itemsPerPage: 10, currentPage: 1 }]);
let instance = paginationService.getInstance();
expect(instance).toBeDefined();
expect(instance.itemsPerPage).toBe(10);
expect(instance.totalItems).toBe(100);
});
it('should modify the same instance when called multiple times', () => {
let instance;
pipe.transform(collection, [{ itemsPerPage: 10, currentPage: 1 }]);
instance = paginationService.getInstance();
expect(instance.itemsPerPage).toBe(10);
pipe.transform(collection, [{ itemsPerPage: 50, currentPage: 1 }]);
instance = paginationService.getInstance();
expect(instance.itemsPerPage).toBe(50);
});
it('should use default id if none specified', () => {
let config = {
itemsPerPage: 10,
currentPage: 1
};
expect(paginationService.getInstance()).toEqual({});
pipe.transform(collection, [config]);
expect(paginationService.getInstance()).toBeDefined();
});
describe('collection modification', () => {
it('should detect simple push or splice without insert', () => {
let config = {
itemsPerPage: 10,
currentPage: 1
};
collection = ['1', '2', '3'];
let result1 = pipe.transform(collection, [config]);
expect(result1.length).toBe(3);
collection.push('4');
let result2 = pipe.transform(collection, [config]);
expect(result2.length).toBe(4);
collection.splice(3, 1); // remove 4th
let result3 = pipe.transform(collection, [config]);
expect(result3.length).toBe(3);
collection.shift(); // remove 1st
let result4 = pipe.transform(collection, [config]);
expect(result4.length).toBe(2);
});
it('should detect value changes in collection', () => {
let config = {
itemsPerPage: 10,
currentPage: 1
};
collection = ['not changed', '2', '3'];
pipe.transform(collection, [config]);
let changed = 'changed';
collection[0] = changed;
let result = pipe.transform(collection, [config]);
expect(result[0]).toBe(changed)
});
});
it('should allow independent instances by setting an id', () => {
//.........这里部分代码省略.........
开发者ID:artemsilin,项目名称:ng2-pagination,代码行数:101,代码来源:paginate-pipe.spec.ts
示例5: 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;
//.........这里部分代码省略.........
开发者ID:artemsilin,项目名称:ng2-pagination,代码行数:101,代码来源:pagination-controls-cmp.spec.ts
注:本文中的angular2/core/testing.describe函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论