當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。