当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript testing.describe函数代码示例

本文整理汇总了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;未经允许,请勿转载。