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


TypeScript testability.Testability类代码示例

本文整理汇总了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();
               });
             });
           });
         }));
//.........这里部分代码省略.........
开发者ID:aftab10662,项目名称:angular,代码行数:101,代码来源:testability_spec.ts

示例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);
           }));
开发者ID:Cammisuli,项目名称:angular,代码行数:17,代码来源:testability_spec.ts

示例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();
           }));
开发者ID:DeepanParikh,项目名称:angular,代码行数:17,代码来源:testability_spec.ts

示例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();
               });
             });
           });
         }));
开发者ID:aftab10662,项目名称:angular,代码行数:18,代码来源:testability_spec.ts

示例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);
           }));
开发者ID:matsko,项目名称:angular,代码行数:18,代码来源:testability_spec.ts

示例6: it

 it('should not fire whenstable callbacks synchronously if pending count is 0', () => {
   testability.whenStable(execute);
   expect(execute).not.toHaveBeenCalled();
 });
开发者ID:aftab10662,项目名称:angular,代码行数:4,代码来源:testability_spec.ts

示例7: expect

 () => { expect(testability.getPendingRequestCount()).toEqual(0); });
开发者ID:aftab10662,项目名称:angular,代码行数:1,代码来源:testability_spec.ts

示例8: microTask

           microTask(() => {
             expect(execute).not.toHaveBeenCalled();
             testability.decreasePendingRequestCount();

             microTask(() => { expect(execute).toHaveBeenCalled(); });
           });
开发者ID:matsko,项目名称:angular,代码行数:6,代码来源:testability_spec.ts


注:本文中的@angular/core/src/testability/testability.Testability类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。