diff --git a/docs/maui-coverage.md b/docs/maui-coverage.md index b15f0ce..6094154 100644 --- a/docs/maui-coverage.md +++ b/docs/maui-coverage.md @@ -1,6 +1,6 @@ # .NET MAUI ⇄ Microsoft.AndroidX.Compose.Maui backend coverage -Generated by `scripts/maui-coverage.cs` on 2026-06-16 13:56 UTC. +Generated by `scripts/maui-coverage.cs` on 2026-06-16 14:48 UTC. Pinned MAUI version: **10.0.20** (from `Directory.Build.targets`). @@ -15,14 +15,14 @@ collected transitively across base mappers (`ViewHandler.ViewMapper`, - **Stock MAUI handlers in scope**: 43 - **Handlers we override**: 25 (**58.1%**) -- **Property-mapper keys covered**: 920 / 1224 (**75.2%**) +- **Property-mapper keys covered**: 925 / 1224 (**75.6%**) ### Per-category coverage | Category | Handlers | Keys | | --- | --- | --- | | **Pages / Navigation** | 2/4 (50%) | 64/130 (49%) | -| **Containers** | 5/5 (100%) | 166/174 (95%) | +| **Containers** | 5/5 (100%) | 171/174 (98%) | | **Leaves** | 18/18 (100%) | 690/695 (99%) | | **Menus / Toolbar** | 0/7 (0%) | 0/1 (0%) | | **Shapes** | 0/1 (0%) | 0/41 (0%) | @@ -39,7 +39,7 @@ Sorted by category. ✅ = fully covered (100%), 🟡 = partial, ❌ = not implem | ✅ | `NavigationViewHandler` | Pages / Navigation | `NavigationPage` | `NavigationPageHandler` | 31 / 31 (100%) | | ✅ | `PageHandler` | Pages / Navigation | `Page` | `PageHandler` | 33 / 33 (100%) | | ❌ | `TabbedViewHandler` | Pages / Navigation | `TabbedPage` | — | 0 / 31 (0%) | -| 🟡 | `BorderHandler` | Containers | `Border` | `BorderHandler` | 35 / 40 (88%) | +| ✅ | `BorderHandler` | Containers | `Border` | `BorderHandler` | 40 / 40 (100%) | | ✅ | `ContentViewHandler` | Containers | `ContentView`, `IContentView` | `ContentViewHandler` | 32 / 32 (100%) | | ✅ | `LayoutHandler` | Containers | `Layout` | `LayoutHandler` | 32 / 32 (100%) | | 🟡 | `RefreshViewHandler` | Containers | `RefreshView` | `RefreshViewHandler` | 34 / 35 (97%) | @@ -111,7 +111,6 @@ Most often this is a non-trivial property we haven't wired up yet (`CharacterSpacing`, `Font`, `Padding` on `Button`; `CornerRadius`, dashed stroke patterns on `Border`). -- **`BorderHandler`** (88%) — missing: `StrokeDashOffset`, `StrokeDashPattern`, `StrokeLineCap`, `StrokeLineJoin`, `StrokeMiterLimit` - **`ScrollViewHandler`** (94%) — missing: `HorizontalScrollBarVisibility`, `VerticalScrollBarVisibility` - **`RadioButtonHandler`** (95%) — missing: `CornerRadius`, `StrokeThickness` - **`ImageHandler`** (97%) — missing: `IsAnimationPlaying` @@ -293,17 +292,9 @@ _No Compose backend handler. Stock MAUI handler keeps the AppCompat backend._ -### 🟡 `BorderHandler` — `Border` +### ✅ `BorderHandler` — `Border` -Backed by `BorderHandler`. **35 / 40 keys (88%)**. - -Missing keys: - -- [ ] `StrokeDashOffset` -- [ ] `StrokeDashPattern` -- [ ] `StrokeLineCap` -- [ ] `StrokeLineJoin` -- [ ] `StrokeMiterLimit` +Backed by `BorderHandler`. **40 / 40 keys (100%)**. Extra keys we map (no stock counterpart): @@ -340,11 +331,11 @@ Extra keys we map (no stock counterpart): - [x] `Shadow` - [x] `Shape` - [x] `Stroke` -- [ ] `StrokeDashOffset` -- [ ] `StrokeDashPattern` -- [ ] `StrokeLineCap` -- [ ] `StrokeLineJoin` -- [ ] `StrokeMiterLimit` +- [x] `StrokeDashOffset` +- [x] `StrokeDashPattern` +- [x] `StrokeLineCap` +- [x] `StrokeLineJoin` +- [x] `StrokeMiterLimit` - [x] `StrokeThickness` - [x] `ToolTip` - [x] `Toolbar` diff --git a/src/Microsoft.AndroidX.Compose.Maui.Sample/Pages/VisualsPage.xaml b/src/Microsoft.AndroidX.Compose.Maui.Sample/Pages/VisualsPage.xaml index a78c4f0..d677b4d 100644 --- a/src/Microsoft.AndroidX.Compose.Maui.Sample/Pages/VisualsPage.xaml +++ b/src/Microsoft.AndroidX.Compose.Maui.Sample/Pages/VisualsPage.xaml @@ -56,6 +56,73 @@ TextColor="#003E37" /> + +