Tests the context size donut chart widget and its hover popup in the GitHub Copilot
for Eclipse chat view. A ContextSizeDonut widget is rendered in the chat view's
ActionBar control bar. It displays a ring that fills proportionally based on the
token utilization percentage received via the LSP ContextSizeInfo payload. At
≥90 % utilization the ring switches to a warning color. Hovering over the donut
opens a ContextWindowPopup that shows a breakdown of token usage by category.
Entry points:
- Copilot Chat view → bottom control bar (the donut appears after the first
response is received that includes
ContextSizeInfo). - Hover the donut to open the Context Window popup.
- Eclipse IDE with the GitHub Copilot for Eclipse plugin installed and activated.
- A valid GitHub Copilot subscription is active (authentication completed).
- The Copilot Chat view is open and visible in the workbench.
Type: Happy Path
Priority: P1
- The Copilot Chat view is open.
- No previous conversation is loaded (fresh session or new conversation).
- Open the Copilot Chat view.
- Confirm the donut widget is not visible in the bottom control bar (no
ContextSizeInfohas been received yet). - Send a short chat message (e.g. "Hello") and wait for a response.
- Inspect the bottom control bar of the chat view.
- Before the first response the donut is not visible (or shows an empty/zero state).
- After the first response arrives the donut widget appears in the control bar.
- No error dialog or exception is logged.
- Before response — chat view control bar with no donut.
- After response — chat view control bar showing the donut widget.
Type: Happy Path
Priority: P1
- The donut widget is visible (at least one response received).
- Hover the mouse cursor over the donut widget in the control bar.
- Wait for the popup to appear.
- Inspect the popup header.
- Inspect the popup body for: total token count, utilization percentage, progress bar, and per-category rows.
- Move the mouse away from the donut.
- The popup opens with the header "Context Window".
- Total usage is displayed in the format
X / Y tokens. - A utilization percentage is shown.
- A progress bar reflects the utilization level.
- Per-category rows are shown: System Instructions, Tool Definitions, Messages, Attached Files, Tool Results.
- Moving the mouse away closes the popup.
- Popup open — the Context Window popup showing all fields.
Type: Edge Case
Priority: P2
- Start a conversation and let the donut show some utilization.
- Start a new conversation (clear or new session).
- Observe the donut state before any new response.
- The donut resets (hidden or zero state) for the new conversation until a
response with
ContextSizeInfois received.