27 lines
1.3 KiB
TypeScript
27 lines
1.3 KiB
TypeScript
import { TestBed } from '@angular/core/testing';
|
|
import { ExpandableValueComponent } from './expandable-value.component';
|
|
|
|
describe('执行字段折叠', () => {
|
|
for (const [label, value] of [['Payload', '{"x":1}'], ['输入', '完整内容'.repeat(100)], ['输出', '行\n'.repeat(6)]]) {
|
|
it(`默认折叠 ${label} 并保留完整内容`, () => {
|
|
const fixture = TestBed.createComponent(ExpandableValueComponent);
|
|
fixture.componentRef.setInput('label', label);
|
|
fixture.componentRef.setInput('value', value);
|
|
fixture.detectChanges();
|
|
const details: HTMLDetailsElement = fixture.nativeElement.querySelector('details');
|
|
expect(details.open).toBeFalse();
|
|
details.querySelector('summary')!.click();
|
|
expect(details.open).toBeTrue();
|
|
expect(details.querySelector('pre')!.textContent).toBe(value);
|
|
fixture.detectChanges();
|
|
expect(details.open).toBeTrue();
|
|
});
|
|
}
|
|
it('直接显示普通短字段', () => {
|
|
const fixture = TestBed.createComponent(ExpandableValueComponent);
|
|
fixture.componentRef.setInput('value', '点击设置'); fixture.detectChanges();
|
|
expect(fixture.nativeElement.querySelector('details')).toBeNull();
|
|
expect(fixture.nativeElement.textContent).toContain('点击设置');
|
|
});
|
|
});
|