Skip to content

Commit 47884e9

Browse files
web-padawanclaude
andauthored
docs: align breadcrumbs Flow spec test files with actual unit tests (#11954)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent bfb50a9 commit 47884e9

2 files changed

Lines changed: 7 additions & 5 deletions

File tree

‎packages/breadcrumbs/spec/flow-spec.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ flow-components/
5454
│ ├── BreadcrumbsTest.java
5555
│ ├── BreadcrumbsModeTest.java
5656
│ ├── BreadcrumbsItemTest.java
57-
│ ├── BreadcrumbsVariantTest.java
57+
│ ├── BreadcrumbsItemSignalTest.java
5858
│ ├── BreadcrumbsSerializableTest.java
5959
│ ├── BreadcrumbsI18nTest.java
6060
│ └── FeatureFlagTest.java
@@ -335,7 +335,7 @@ public enum BreadcrumbsVariant implements ThemeVariant {
335335

336336
Every value maps to a `theme` token the web component actually honours, as guidelines/09-theming.md requires.
337337

338-
A `BreadcrumbsVariantTest` maps each enum value to its expected token (guidelines/12-testing.md).
338+
`BreadcrumbsTest` asserts that `Breadcrumbs` implements `HasThemeVariant` (guidelines/12-testing.md).
339339

340340
---
341341

‎packages/breadcrumbs/spec/flow-tasks.md‎

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,12 @@ Create the three sub-modules (`-flow`, `-flow-integration-tests`, `-testbench`)
7474
**Requirements:** 1, 2, 8
7575
**Depends on:** 1
7676

77-
Implement all seven `BreadcrumbsItem` constructors (mirroring `SideNavItem`'s overload set), the `path` accessors with the three setter overloads, and verify the inherited `HasText` / `HasEnabled` / `HasPrefix` surface works. `setPath(Class<? extends Component>)` and `setPath(Class, RouteParameters)` resolve via `RouteConfiguration.forRegistry(ComponentUtil.getRouter(this).getRegistry()).getUrl(view, params)` exactly like `SideNavItem`. No events, no `@Synchronize`'d properties.
77+
Implement all seven `BreadcrumbsItem` constructors (mirroring `SideNavItem`'s overload set), the `path` accessors with the three setter overloads, and verify the `HasText` / `HasEnabled` / `HasPrefix` surface works. `setPath(Class<? extends Component>)` and `setPath(Class, RouteParameters)` resolve via `RouteConfiguration.forRegistry(ComponentUtil.getRouter(this).getRegistry()).getUrl(view, params)` exactly like `SideNavItem`. A `BreadcrumbsItemSignalTest` covers `bindText` (the binding updates the text; `setText` throws while it is active). No events, no `@Synchronize`'d properties.
7878

7979
**Files:**
8080
- `vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/src/main/java/com/vaadin/flow/component/breadcrumbs/BreadcrumbsItem.java` (modify)
8181
- `vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/src/test/java/com/vaadin/flow/component/breadcrumbs/tests/BreadcrumbsItemTest.java` (create)
82+
- `vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/src/test/java/com/vaadin/flow/component/breadcrumbs/tests/BreadcrumbsItemSignalTest.java` (create — `bindText` signal binding)
8283

8384
**Tests:**
8485
- [ ] `new BreadcrumbsItem("Home")` sets the element's text content to "Home" and does not set the `path` attribute
@@ -89,6 +90,7 @@ Implement all seven `BreadcrumbsItem` constructors (mirroring `SideNavItem`'s ov
8990
- [ ] `new BreadcrumbsItem("Home", HomeView.class, homeIcon)` sets the prefix slot to `homeIcon` and the path attribute to the view's URL
9091
- [ ] `setPrefixComponent(component)` then `getPrefixComponent()` returns the same component
9192
- [ ] `setEnabled(false)` reflects the `disabled` attribute on the host
93+
- [ ] `bindText(signal)` binds the item's text reactively; `setText` throws while the binding is active
9294

9395
**Acceptance criteria:**
9496
- [ ] All new tests pass; existing tests still pass
@@ -107,11 +109,11 @@ Add the `BreadcrumbsVariant` enum implementing `ThemeVariant` with `SLASH("slash
107109
**Files:**
108110
- `vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/src/main/java/com/vaadin/flow/component/breadcrumbs/BreadcrumbsVariant.java` (create)
109111
- `vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/src/main/java/com/vaadin/flow/component/breadcrumbs/Breadcrumbs.java` (modify — add `HasThemeVariant<BreadcrumbsVariant>` to the `implements` clause)
110-
- `vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/src/test/java/com/vaadin/flow/component/breadcrumbs/tests/BreadcrumbsVariantTest.java` (createenum→token mapping per guidelines/09-theming.md)
112+
- `vaadin-breadcrumbs-flow-parent/vaadin-breadcrumbs-flow/src/test/java/com/vaadin/flow/component/breadcrumbs/tests/BreadcrumbsTest.java` (modifyassert `Breadcrumbs` implements `HasThemeVariant`)
111113

112114
**Tests:**
113115
- [ ] `BreadcrumbsVariant.SLASH.getVariantName()` returns `"slash"`, `LUMO_PRIMARY` returns `"primary"`, `AURA_ACCENT` returns `"accent"`
114-
- [ ] `BreadcrumbsVariantTest` maps every enum value to its expected `theme` token
116+
- [ ] `BreadcrumbsTest` asserts `Breadcrumbs` implements `HasThemeVariant`
115117
- [ ] `addThemeVariants(BreadcrumbsVariant.SLASH)` adds `slash` to the host `theme` attribute
116118
- [ ] `removeThemeVariants(BreadcrumbsVariant.SLASH)` removes it
117119
- [ ] `setThemeVariants(BreadcrumbsVariant.SLASH)` replaces any previously set theme tokens

0 commit comments

Comments
 (0)