sass-references/angular-material/material/chips/chip-edit-input.spec.ts

49 lines
1.6 KiB
TypeScript
Raw Permalink Normal View History

2024-12-06 10:42:08 +08:00
import {Component, DebugElement} from '@angular/core';
import {waitForAsync, TestBed, ComponentFixture} from '@angular/core/testing';
import {MatChipEditInput, MatChipsModule} from './index';
import {By} from '@angular/platform-browser';
describe('MatChipEditInput', () => {
const DEFAULT_INITIAL_VALUE = 'INITIAL_VALUE';
let fixture: ComponentFixture<any>;
let inputDebugElement: DebugElement;
let inputInstance: MatChipEditInput;
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
imports: [MatChipsModule, ChipEditInputContainer],
});
fixture = TestBed.createComponent(ChipEditInputContainer);
inputDebugElement = fixture.debugElement.query(By.directive(MatChipEditInput))!;
inputInstance = inputDebugElement.injector.get<MatChipEditInput>(MatChipEditInput);
}));
describe('on initialization', () => {
it('should set the initial input text', () => {
inputInstance.initialize(DEFAULT_INITIAL_VALUE);
expect(inputInstance.getNativeElement().textContent).toEqual(DEFAULT_INITIAL_VALUE);
});
it('should focus the input', () => {
inputInstance.initialize(DEFAULT_INITIAL_VALUE);
expect(document.activeElement).toEqual(inputInstance.getNativeElement());
});
});
it('should update the internal value as it is set', () => {
inputInstance.initialize(DEFAULT_INITIAL_VALUE);
const newValue = 'NEW_VALUE';
inputInstance.setValue(newValue);
expect(inputInstance.getValue()).toEqual(newValue);
});
});
@Component({
template: `<mat-chip><span matChipEditInput></span></mat-chip>`,
standalone: true,
imports: [MatChipsModule],
})
class ChipEditInputContainer {}