/
githubmirror
/
components
Обзор
Документация
Войти
/
githubmirror
/
components
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/material/button-toggle/testing/button-toggle-group.spec.ts
91 строка
3 KB
Kristiyan Kostadinov
build: add explicit change detection to tests (#33010)
30 мар 2026, 10:52
Не верифицирован
30 мар 2026, 10:52
7806398
Код
Авторство
О чём код?
import {HarnessLoader} from '@angular/cdk/testing'; import {TestbedHarnessEnvironment} from '@angular/cdk/testing/testbed'; import {Component, ChangeDetectionStrategy} from '@angular/core'; import {ComponentFixture, TestBed} from '@angular/core/testing'; import {MatButtonToggleAppearance, MatButtonToggleModule} from '../../button-toggle'; import {MatButtonToggleGroupHarness} from './button-toggle-group-harness'; describe('MatButtonToggleGroupHarness', () => { let fixture: ComponentFixture<ButtonToggleGroupHarnessTest>; let loader: HarnessLoader; beforeEach(() => { fixture = TestBed.createComponent(ButtonToggleGroupHarnessTest); fixture.detectChanges(); loader = TestbedHarnessEnvironment.loader(fixture); }); it('should load all button toggle group harnesses', async () => { const groups = await loader.getAllHarnesses(MatButtonToggleGroupHarness); expect(groups.length).toBe(1); }); it('should load the toggles inside the group', async () => { const group = await loader.getHarness(MatButtonToggleGroupHarness); const toggles = await group.getToggles(); expect(toggles.length).toBe(2); }); it('should get whether the group is disabled', async () => { const group = await loader.getHarness(MatButtonToggleGroupHarness); expect(await group.isDisabled()).toBe(false); fixture.componentInstance.disabled = true; fixture.changeDetectorRef.markForCheck(); expect(await group.isDisabled()).toBe(true); }); it('should filter by whether the group is disabled', async () => { let enabledGroups = await loader.getAllHarnesses( MatButtonToggleGroupHarness.with({disabled: false}), ); let disabledGroups = await loader.getAllHarnesses( MatButtonToggleGroupHarness.with({disabled: true}), ); expect(enabledGroups.length).toBe(1); expect(disabledGroups.length).toBe(0); fixture.componentInstance.disabled = true; fixture.changeDetectorRef.markForCheck(); enabledGroups = await loader.getAllHarnesses( MatButtonToggleGroupHarness.with({disabled: false}), ); disabledGroups = await loader.getAllHarnesses( MatButtonToggleGroupHarness.with({disabled: true}), ); expect(enabledGroups.length).toBe(0); expect(disabledGroups.length).toBe(1); }); it('should get whether the group is vertical', async () => { const group = await loader.getHarness(MatButtonToggleGroupHarness); expect(await group.isVertical()).toBe(false); fixture.componentInstance.vertical = true; fixture.changeDetectorRef.markForCheck(); expect(await group.isVertical()).toBe(true); }); it('should get the group appearance', async () => { const group = await loader.getHarness(MatButtonToggleGroupHarness); expect(await group.getAppearance()).toBe('standard'); fixture.componentInstance.appearance = 'legacy'; fixture.changeDetectorRef.markForCheck(); expect(await group.getAppearance()).toBe('legacy'); }); }); @Component({ template: ` <mat-button-toggle-group [disabled]="disabled" [vertical]="vertical" [appearance]="appearance"> <mat-button-toggle value="1">One</mat-button-toggle> <mat-button-toggle value="2">Two</mat-button-toggle> </mat-button-toggle-group> `, imports: [MatButtonToggleModule], changeDetection: ChangeDetectionStrategy.Eager, }) class ButtonToggleGroupHarnessTest { disabled = false; vertical = false; appearance: MatButtonToggleAppearance = 'standard'; }