Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 42 additions & 42 deletions src/aria/combobox/combobox.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ describe('Combobox', () => {
click(options[0]);
fixture.detectChanges();

expect(fixture.componentInstance.value()).toEqual(['Alabama']);
expect(fixture.componentInstance.values()).toEqual(['Alabama']);
expect(inputElement.value).toBe('Alabama');
});

Expand All @@ -290,31 +290,31 @@ describe('Combobox', () => {
down();
enter();

expect(fixture.componentInstance.value()).toEqual(['Alabama']);
expect(fixture.componentInstance.values()).toEqual(['Alabama']);
expect(inputElement.value).toBe('Alabama');
});

it('should not select on navigation', () => {
down();
down();

expect(fixture.componentInstance.value()).toEqual([]);
expect(fixture.componentInstance.values()).toEqual([]);
});

it('should select on focusout if the input text exactly matches an item', () => {
focus();
input('Alabama');
blur();

expect(fixture.componentInstance.value()).toEqual(['Alabama']);
expect(fixture.componentInstance.values()).toEqual(['Alabama']);
});

it('should not select on focusout if the input text does not match an item', () => {
focus();
input('Appl');
blur();

expect(fixture.componentInstance.value()).toEqual([]);
expect(fixture.componentInstance.values()).toEqual([]);
expect(inputElement.value).toBe('Appl');
});
});
Expand All @@ -328,7 +328,7 @@ describe('Combobox', () => {
click(options[1]);
fixture.detectChanges();

expect(fixture.componentInstance.value()).toEqual(['Alaska']);
expect(fixture.componentInstance.values()).toEqual(['Alaska']);
expect(inputElement.value).toBe('Alaska');
});

Expand All @@ -337,26 +337,26 @@ describe('Combobox', () => {
down();
enter();

expect(fixture.componentInstance.value()).toEqual(['Alaska']);
expect(fixture.componentInstance.values()).toEqual(['Alaska']);
expect(inputElement.value).toBe('Alaska');
});

it('should select on navigation', () => {
down();
expect(fixture.componentInstance.value()).toEqual(['Alabama']);
expect(fixture.componentInstance.values()).toEqual(['Alabama']);

down();
expect(fixture.componentInstance.value()).toEqual(['Alaska']);
expect(fixture.componentInstance.values()).toEqual(['Alaska']);

down();
expect(fixture.componentInstance.value()).toEqual(['Arizona']);
expect(fixture.componentInstance.values()).toEqual(['Arizona']);
});

it('should select the first option on input', () => {
focus();
input('W');

expect(fixture.componentInstance.value()).toEqual(['Washington']);
expect(fixture.componentInstance.values()).toEqual(['Washington']);
});

it('should commit the selected option on focusout', () => {
Expand All @@ -365,7 +365,7 @@ describe('Combobox', () => {
blur();

expect(inputElement.value).toBe('Georgia');
expect(fixture.componentInstance.value()).toEqual(['Georgia']);
expect(fixture.componentInstance.values()).toEqual(['Georgia']);
});
});

Expand All @@ -378,7 +378,7 @@ describe('Combobox', () => {
click(options[2]);
fixture.detectChanges();

expect(fixture.componentInstance.value()).toEqual(['Arizona']);
expect(fixture.componentInstance.values()).toEqual(['Arizona']);
expect(inputElement.value).toBe('Arizona');
});

Expand All @@ -388,16 +388,16 @@ describe('Combobox', () => {
down();
enter();

expect(fixture.componentInstance.value()).toEqual(['Arizona']);
expect(fixture.componentInstance.values()).toEqual(['Arizona']);
expect(inputElement.value).toBe('Arizona');
});

it('should select on navigation', () => {
down();
expect(fixture.componentInstance.value()).toEqual(['Alabama']);
expect(fixture.componentInstance.values()).toEqual(['Alabama']);

down();
expect(fixture.componentInstance.value()).toEqual(['Alaska']);
expect(fixture.componentInstance.values()).toEqual(['Alaska']);
});

it('should update input value on navigation', () => {
Expand All @@ -412,7 +412,7 @@ describe('Combobox', () => {
focus();
input('Cali');

expect(fixture.componentInstance.value()).toEqual(['California']);
expect(fixture.componentInstance.values()).toEqual(['California']);
});

it('should insert a highlighted completion string on input', () => {
Expand Down Expand Up @@ -449,7 +449,7 @@ describe('Combobox', () => {
blur();

expect(inputElement.value).toBe('California');
expect(fixture.componentInstance.value()).toEqual(['California']);
expect(fixture.componentInstance.values()).toEqual(['California']);
});
});
});
Expand Down Expand Up @@ -549,7 +549,7 @@ describe('Combobox', () => {
// focus();
// fixture.componentInstance.value.set(['Banana']);
// fixture.detectChanges();
// expect(fixture.componentInstance.value()).toEqual(['Banana']);
// expect(fixture.componentInstance.values()).toEqual(['Banana']);
// const bananaOption = getOption('Banana')!;
// expect(bananaOption.getAttribute('aria-selected')).toBe('true');
// });
Expand Down Expand Up @@ -786,15 +786,15 @@ describe('Combobox', () => {
click(item);
fixture.detectChanges();

expect(fixture.componentInstance.value()).toEqual(['April']);
expect(fixture.componentInstance.values()).toEqual(['April']);
expect(inputElement.value).toBe('April');
});

it('should select and commit to input on Enter', () => {
down();
enter();

expect(fixture.componentInstance.value()).toEqual(['Winter']);
expect(fixture.componentInstance.values()).toEqual(['Winter']);
expect(inputElement.value).toBe('Winter');
});

Expand All @@ -803,22 +803,22 @@ describe('Combobox', () => {
input('November');
blur();

expect(fixture.componentInstance.value()).toEqual(['November']);
expect(fixture.componentInstance.values()).toEqual(['November']);
});

it('should not select on navigation', () => {
down();
down();

expect(fixture.componentInstance.value()).toEqual([]);
expect(fixture.componentInstance.values()).toEqual([]);
});

it('should not select on focusout if the input text does not match an item', () => {
focus();
input('Appl');
blur();

expect(fixture.componentInstance.value()).toEqual([]);
expect(fixture.componentInstance.values()).toEqual([]);
expect(inputElement.value).toBe('Appl');
});
});
Expand All @@ -834,7 +834,7 @@ describe('Combobox', () => {
click(item);
fixture.detectChanges();

expect(fixture.componentInstance.value()).toEqual(['February']);
expect(fixture.componentInstance.values()).toEqual(['February']);
expect(inputElement.value).toBe('February');
});

Expand All @@ -843,22 +843,22 @@ describe('Combobox', () => {
down();
enter();

expect(fixture.componentInstance.value()).toEqual(['Spring']);
expect(fixture.componentInstance.values()).toEqual(['Spring']);
expect(inputElement.value).toBe('Spring');
});

it('should select on navigation', () => {
down();
expect(fixture.componentInstance.value()).toEqual(['Winter']);
expect(fixture.componentInstance.values()).toEqual(['Winter']);

down();
expect(fixture.componentInstance.value()).toEqual(['Spring']);
expect(fixture.componentInstance.values()).toEqual(['Spring']);
});

it('should select the first option on input', () => {
focus();
input('Dec');
expect(fixture.componentInstance.value()).toEqual(['December']);
expect(fixture.componentInstance.values()).toEqual(['December']);
});

it('should commit the selected option on focusout', () => {
Expand All @@ -867,7 +867,7 @@ describe('Combobox', () => {
blur();

expect(inputElement.value).toBe('June');
expect(fixture.componentInstance.value()).toEqual(['June']);
expect(fixture.componentInstance.values()).toEqual(['June']);
});
});

Expand All @@ -882,7 +882,7 @@ describe('Combobox', () => {
click(item);
fixture.detectChanges();

expect(fixture.componentInstance.value()).toEqual(['February']);
expect(fixture.componentInstance.values()).toEqual(['February']);
expect(inputElement.value).toBe('February');
});

Expand All @@ -891,16 +891,16 @@ describe('Combobox', () => {
down();
enter();

expect(fixture.componentInstance.value()).toEqual(['Spring']);
expect(fixture.componentInstance.values()).toEqual(['Spring']);
expect(inputElement.value).toBe('Spring');
});

it('should select on navigation', () => {
down();
expect(fixture.componentInstance.value()).toEqual(['Winter']);
expect(fixture.componentInstance.values()).toEqual(['Winter']);

down();
expect(fixture.componentInstance.value()).toEqual(['Spring']);
expect(fixture.componentInstance.values()).toEqual(['Spring']);
});

it('should update input value on navigation', () => {
Expand All @@ -915,7 +915,7 @@ describe('Combobox', () => {
focus();
input('Sept');

expect(fixture.componentInstance.value()).toEqual(['September']);
expect(fixture.componentInstance.values()).toEqual(['September']);
});

it('should insert a highlighted completion string on input', () => {
Expand All @@ -933,7 +933,7 @@ describe('Combobox', () => {
blur();

expect(inputElement.value).toBe('January');
expect(fixture.componentInstance.value()).toEqual(['January']);
expect(fixture.componentInstance.values()).toEqual(['January']);
});
});
});
Expand Down Expand Up @@ -1060,9 +1060,9 @@ describe('Combobox', () => {
it('should update the selected item when the value is set programmatically', () => {
setupCombobox();
focus();
fixture.componentInstance.value.set(['August']);
fixture.componentInstance.values.set(['August']);
fixture.detectChanges();
expect(fixture.componentInstance.value()).toEqual(['August']);
expect(fixture.componentInstance.values()).toEqual(['August']);
expect(getTreeItem('August')!.getAttribute('aria-selected')).toBe('true');
});
});
Expand Down Expand Up @@ -1106,7 +1106,7 @@ describe('Combobox', () => {
/>

<ng-template ngComboboxPopupContainer>
<div ngListbox [(value)]="value">
<div ngListbox [(values)]="values">
@for (option of options(); track option) {
<div
ngOption
Expand All @@ -1125,7 +1125,7 @@ describe('Combobox', () => {
class ComboboxListboxExample {
readonly = signal(false);
searchString = signal('');
value = signal<string[]>([]);
values = signal<string[]>([]);
filterMode = signal<'manual' | 'auto-select' | 'highlight'>('manual');

options = computed(() =>
Expand All @@ -1149,7 +1149,7 @@ class ComboboxListboxExample {
/>

<ng-template ngComboboxPopupContainer>
<ul ngTree #tree="ngTree" [(value)]="value">
<ul ngTree #tree="ngTree" [(values)]="values">
<ng-template
[ngTemplateOutlet]="treeNodes"
[ngTemplateOutletContext]="{nodes: nodes(), parent: tree}"
Expand Down Expand Up @@ -1195,7 +1195,7 @@ class ComboboxListboxExample {
class ComboboxTreeExample {
readonly = signal(false);
searchString = signal('');
value = signal<string[]>([]);
values = signal<string[]>([]);
nodes = computed(() => this.filterTreeNodes(TREE_NODES));
filterMode = signal<'manual' | 'auto-select' | 'highlight'>('manual');

Expand Down
Loading
Loading