當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript testing.flush函數代碼示例

本文整理匯總了TypeScript中@angular/core/testing.flush函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript flush函數的具體用法?TypeScript flush怎麽用?TypeScript flush使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了flush函數的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: flush

 fixture.ngZone.run(() => {
   router = TestBed.get(Router);
   router.initialNavigation();
   // Generate breadcrumb items.
   router.navigate([ 'one', 'two', 'three', 'four' ]);
   fixture.detectChanges();
   flush();
   fixture.detectChanges();
   items = fixture.debugElement.queryAll(By.directive(NzBreadCrumbItemComponent));
   // Should generate 2 breadcrumbs when reaching out of the `data` scope.
   expect(breadcrumb.componentInstance.breadcrumbs.length).toBe(2);
   dispatchMouseEvent(items[ 1 ].nativeElement.querySelector('a'), 'click');
   router.navigate([ 'one', 'two', 'three' ]);
   fixture.detectChanges();
   flush();
   fixture.detectChanges();
   expect(breadcrumb.componentInstance.breadcrumbs.length).toBe(2);
   router.navigate([ 'one', 'two' ]);
   fixture.detectChanges();
   flush();
   fixture.detectChanges();
   expect(breadcrumb.componentInstance.breadcrumbs.length).toBe(1);
   router.navigate([ 'one' ]);
   fixture.detectChanges();
   flush();
   fixture.detectChanges();
   // Shouldn't generate breadcrumb at all.
   expect(breadcrumb.componentInstance.breadcrumbs.length).toBe(0);
 });
開發者ID:SrgGs,項目名稱:ng-zorro-antd,代碼行數:29,代碼來源:nz-breadcrumb.spec.ts

示例2: it

    it('should create site when form is valid', fakeAsync(() => {
        findSitesSpy.and.returnValue(Promise.resolve(findSitesResponse));
        spyOn(alfrescoApi.sitesApi, 'createSite').and.returnValue(
            Promise.resolve()
        );
        spyOn(alfrescoApi.sitesApi, 'getSite').and.callFake(() => {
            return new Promise((resolve, reject) => reject());
        });

        fixture.detectChanges();
        component.form.controls.title.setValue('library title');
        tick(500);
        flush();
        fixture.detectChanges();

        component.submit();
        fixture.detectChanges();
        flush();

        expect(alfrescoApi.sitesApi.createSite).toHaveBeenCalledWith({
            id: 'library-title',
            title: 'library title',
            description: '',
            visibility: 'PUBLIC'
        });
    }));
開發者ID:Alfresco,項目名稱:alfresco-ng2-components,代碼行數:26,代碼來源:library.dialog.spec.ts

示例3: fakeAsync

            + 'sync repository. When confirmed, open settings dialog.', fakeAsync(() => {
            (vcs.canSyncRepository as Spy).and.returnValue(Promise.resolve(false));

            getSyncWorkspaceButtonEl().click();
            flush();

            const confirmDialog = mockDialog.getByComponent<ConfirmDialogComponent,
                ConfirmDialogData,
                boolean>(
                ConfirmDialogComponent,
            );

            expect(confirmDialog).toBeDefined();
            expect(confirmDialog.config.data.isAlert).toBe(false);

            confirmDialog.close(true);
            flush();

            const settingsDialog = mockDialog.getByComponent<SettingsDialogComponent,
                SettingsDialogData,
                void>(
                SettingsDialogComponent,
            );

            expect(settingsDialog).toBeDefined();
            expect(settingsDialog.config.data.initialSettingId).toEqual(VCS_SETTINGS_ID);
        }));
開發者ID:suiruiw,項目名稱:geeks-diary,代碼行數:27,代碼來源:vcs-manager.component.spec.ts

示例4: it

 it('should throw error and redirect user if he has not logged in', fakeAsync(() => {
   spyOn(dashboardService, 'getProgressStatus').and.returnValue(throwError({error: 'ERROR'}));
   spyOn(languageService, 'loadLanguage').and.returnValue(Observable.of(languageData));
   flush();
   component.ngOnInit();
   fixture.detectChanges();
   flush();
   expect(router.navigate).toHaveBeenCalledWith(['/login']);
 }));
開發者ID:systers,項目名稱:PC-Prep-Kit,代碼行數:9,代碼來源:menu.component.spec.ts

示例5: it

    it("reacts to save click", fakeAsync(() => {
      component.ngOnInit();
      component.click();
      httpAction.next({ url: '', method: HttpMethod.Post, isComplete: false });
      flush();
      expect(component.isSaving).toBeTruthy();

      httpAction.next({ url: '', method: HttpMethod.Post, isComplete: true });
      flush();
      expect(component.isSaving).toBeFalsy();
      expect(component.isListening).toBeFalsy();
    }));
開發者ID:OysteinAmundsen,項目名稱:gymsystems,代碼行數:12,代碼來源:save-button.component.spec.ts

示例6: fakeAsync

            + '\'TEXT\'. And dispatch NoteSnippetEditorInsertImageEvent when user select file.', fakeAsync(() => {
            const selectedNote = noteDummy.create();
            const content = contentDummy.create();
            content.snippets[0] = new NoteSnippetContentDummy().create(NoteSnippetTypes.TEXT);

            ensureSelectNoteAndLoadNoteContent(selectedNote, content);

            activateSnippetAtIndex(0);
            fixture.detectChanges();

            spyOn(nativeDialog, 'showOpenDialog').and.returnValue(of({
                isSelected: true,
                filePaths: ['/foo/bar/assets/some-image.png'],
            } as NativeDialogOpenResult));

            spyOn(noteEditor, 'copyAssetFile').and.returnValue(of({
                fileNameWithoutExtension: 'some-image',
                relativePathToWorkspaceDir: './some-image.png',
            } as Asset));

            menuMessages.next(MenuEvent.INSERT_IMAGE);
            flush();
            flush();
            flush();

            expect(nativeDialog.showOpenDialog).toHaveBeenCalledWith({
                message: 'Choose an image:',
                properties: NativeDialogProperties.OPEN_FILE,
                fileFilters: [nativeDialogFileFilters.IMAGES],
            } as NativeDialogConfig);

            expect(noteEditor.copyAssetFile).toHaveBeenCalledWith(
                AssetTypes.IMAGE,
                selectedNote.contentFilePath,
                '/foo/bar/assets/some-image.png',
            );

            expect(listManager.handleSnippetRefEvent).toHaveBeenCalled();

            const event = (
                listManager.handleSnippetRefEvent as Spy
            ).calls.first().args[0] as NoteSnippetEditorInsertImageEvent;

            // noinspection SuspiciousInstanceOfGuard
            expect(event instanceof NoteSnippetEditorInsertImageEvent).toBe(true);
            expect(event.payload.fileName).toEqual('some-image');
            expect(event.payload.filePath).toEqual('./some-image.png');

            discardPeriodicTasks();
        }));
開發者ID:suiruiw,項目名稱:geeks-diary,代碼行數:50,代碼來源:note-editor.component.spec.ts

示例7: it

        it('should open alert when \'VcsPrimaryEmailNotExists\' exception thrown.', fakeAsync(() => {
            makeAccountsToBeLoadedWith();

            fixture.detectChanges();
            flush();
            fixture.detectChanges();

            switchAuthMethodOption(VcsAuthenticationTypes.OAUTH2_TOKEN);

            typeInElement('token', getTokenInputEl());
            fixture.detectChanges();

            const newAccount: VcsAccount = {
                ...vcsAccountDummy.create(VcsAuthenticationTypes.OAUTH2_TOKEN),
                email: null,
            };

            spyOn(github, 'authorizeByOauth2Token').and.returnValue(of(newAccount));
            spyOn(github, 'getPrimaryEmail').and.returnValue(throwError(new VcsPrimaryEmailNotExistsError()));

            getLoginAndAddAccountButtonEl().click();
            fixture.detectChanges();

            const alert = thisMockDialog.getByComponent<ConfirmDialogComponent,
                ConfirmDialogData,
                boolean>(
                ConfirmDialogComponent,
            );

            expect(alert).toBeDefined();
            expect(alert.config.data.title).toEqual('Cannot read email from github.com');
            expect(alert.config.data.isAlert).toEqual(true);
        }));
開發者ID:suiruiw,項目名稱:geeks-diary,代碼行數:33,代碼來源:github-accounts-dialog.component.spec.ts

示例8: fakeAsync

            + 'should reset form.', fakeAsync(() => {
            makeAccountsToBeLoadedWith();

            fixture.detectChanges();
            flush();
            fixture.detectChanges();

            switchAuthMethodOption(VcsAuthenticationTypes.OAUTH2_TOKEN);

            typeInElement('token', getTokenInputEl());
            fixture.detectChanges();

            const newAccount = vcsAccountDummy.create(VcsAuthenticationTypes.OAUTH2_TOKEN);

            spyOn(github, 'authorizeByOauth2Token').and.returnValue(of(newAccount));
            spyOn(accountDB, 'addNewAccount').and.callThrough();

            getLoginAndAddAccountButtonEl().click();
            fixture.detectChanges();

            expect(github.authorizeByOauth2Token).toHaveBeenCalledWith('token');
            expect(accountDB.addNewAccount).toHaveBeenCalledWith(newAccount);

            // Should form reset
            expect(component.addAccountFormGroup.value).toEqual({
                type: VcsAuthenticationTypes.OAUTH2_TOKEN,
                userName: '',
                password: '',
                token: '',
            });
        }));
開發者ID:suiruiw,項目名稱:geeks-diary,代碼行數:31,代碼來源:github-accounts-dialog.component.spec.ts

示例9: it

 it('should disable the tooltip', fakeAsync(() => {
   const fixture: ComponentFixture<
     CalendarMonthViewComponent
   > = TestBed.createComponent(CalendarMonthViewComponent);
   eventTitle.monthTooltip = () => '';
   fixture.componentInstance.viewDate = new Date('2016-06-27');
   fixture.componentInstance.events = [
     {
       start: new Date('2016-05-30'),
       end: new Date('2016-06-02'),
       title: 'foo <b>bar</b>',
       color: {
         primary: 'blue',
         secondary: 'rgb(238, 238, 238)'
       }
     }
   ];
   fixture.componentInstance.ngOnChanges({ viewDate: {}, events: {} });
   fixture.detectChanges();
   const event: HTMLElement = fixture.nativeElement.querySelector(
     '.cal-days .cal-cell-row .cal-cell:nth-child(4) .cal-events .cal-event'
   );
   triggerDomEvent('mouseenter', event);
   fixture.detectChanges();
   flush();
   expect(!!document.body.querySelector('.cal-tooltip')).to.equal(false);
 }));
開發者ID:mattlewis92,項目名稱:angular2-calendar,代碼行數:27,代碼來源:calendar-month-view.component.spec.ts

示例10: it

      it('should flush tasks', fakeAsync(() => {
           let ran = false;
           setTimeout(() => { ran = true; }, 10);

           flush();
           expect(ran).toEqual(true);
         }));
開發者ID:AnthonyPAlicea,項目名稱:angular,代碼行數:7,代碼來源:fake_async_spec.ts


注:本文中的@angular/core/testing.flush函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。