• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

IgniteUI / igniteui-webcomponents / 31701023658
98%

Build:
DEFAULT BRANCH: master
Ran 13 Aug 2026 12:41PM UTC
Jobs 1
Files 235
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

13 Aug 2026 12:38PM UTC coverage: 98.365% (-0.009%) from 98.374%
31701023658

push

github

web-flow
fix(select): anchor keyboard navigation to the current selection (#2326)

Focusing a select that already had a selection and pressing ArrowUp without
opening it cleared the selection, leaving the placeholder behind, instead of
moving to the previous item.

`_activeItem` - the item navigation moves from - was maintained by hand and
only ever assigned by `_selectItem`. Every other path into selection reaches
`_setSelectedItem` directly: the `value` property setter, and `firstUpdated`
resolving a `selected` attribute on an item, where assigning `defaultValue`
routes through that same setter while the component is still pristine and the
follow-up `_selectItem` then short-circuits on an already selected item. Both
left `_activeItem` unset, so `getPreviousActiveItem` was handed `undefined`,
`items.indexOf(undefined)` gave -1, the loop from -2 never ran, and it
returned `items[-1]`. `_selectItem(undefined)` is the "clear everything" path,
so the value was wiped. ArrowDown survived the same input by luck - its loop
starts at 0 and returned the first item.

`_activateItem` is now the only writer of `_activeItem` and is folded into
`_setSelectedItem` and `_clearSelectedItem`, so every path that touches the
selection keeps the two in step. The navigation helpers return `T | undefined`
and handle a missing or detached starting point explicitly - forwards from the
top, backwards from the bottom - and navigating with nowhere to go is a no-op;
clearing the selection is left to the callers that mean it. `igc-dropdown`
shares those helpers but routes their result through a guarded path, so it is
unaffected.

Also in the same area:

- type ahead threw a TypeError on the first character typed whenever
  `_activeItem` was unset, and treated a printable key held with Ctrl/Cmd/Alt
  as a search character, preventing its default so the shortcut never reached
  the browser
- choosing the already selected item from the open list left it open. The
  early return for an unchang... (continued)

6750 of 7079 branches covered (95.35%)

Branch coverage included in aggregate %.

272 of 276 new or added lines in 7 files covered. (98.55%)

47883 of 48462 relevant lines covered (98.81%)

1441.95 hits per line

Uncovered Changes

Lines Coverage ∆ File
4
98.6
-0.7% src/components/select/select.ts
Jobs
ID Job ID Ran Files Coverage
1 31701023658.1 13 Aug 2026 12:41PM UTC 235
98.37
GitHub Action Run
Source Files on build 31701023658
  • Tree
  • List 235
  • Changed 8
  • Source Changed 7
  • Coverage Changed 8
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #31701023658
  • 831adf87 on github
  • Prev Build on master (#31679721170)
  • Next Build on master (#31720727387)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc