Commit 9591f1b
fix(treeview): CI — add typed-tree fluents + robust container-hosting attach
Two CI failures on the typed TreeView<T> change:
Unit Tests — PublicApiSurfaceGuardTests.EveryCallbackPropertyHasMatchingFluent
required every Action/Action<T> callback property to have a matching fluent
extension. Add `.ItemInvoked<T>` / `.Expanding<T>` for TemplatedTreeViewElement<T>
in ElementExtensions.Events.cs (mirrors the existing TreeViewElement fluents).
AOT Selftests — every visual-render TTV_ assertion failed while element-level
ones passed: node views were never hosted. Hosting was deferred to the
TreeView's Loaded event, which (unlike the typed ListView, which subscribes to
ContainerContentChanging at mount) does not fire reliably in the headless AOT
host before the fixture asserts. The internal TreeViewList only exists after the
template applies, so we can't subscribe at mount — instead drive the attach from
a bounded dispatcher retry that lands on the first pump (creating the
subscription before/around the first realization and catching any later
realization within the same render), with Loaded kept only as a backup for the
show-later case (e.g. a tree in an unselected tab). FindTypedTreeListControl no
longer writes the subscription-marker cache (read-only on the Update path).
Full self-test suite green (4454 ok, 0 failures).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent 3ecac96 commit 9591f1b
3 files changed
Lines changed: 61 additions & 23 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2007 | 2007 | | |
2008 | 2008 | | |
2009 | 2009 | | |
2010 | | - | |
2011 | | - | |
2012 | | - | |
2013 | | - | |
| 2010 | + | |
| 2011 | + | |
| 2012 | + | |
| 2013 | + | |
| 2014 | + | |
| 2015 | + | |
| 2016 | + | |
| 2017 | + | |
| 2018 | + | |
| 2019 | + | |
| 2020 | + | |
| 2021 | + | |
| 2022 | + | |
2014 | 2023 | | |
2015 | 2024 | | |
2016 | 2025 | | |
| |||
2033 | 2042 | | |
2034 | 2043 | | |
2035 | 2044 | | |
| 2045 | + | |
| 2046 | + | |
| 2047 | + | |
| 2048 | + | |
| 2049 | + | |
| 2050 | + | |
| 2051 | + | |
| 2052 | + | |
| 2053 | + | |
| 2054 | + | |
| 2055 | + | |
| 2056 | + | |
| 2057 | + | |
| 2058 | + | |
| 2059 | + | |
| 2060 | + | |
| 2061 | + | |
| 2062 | + | |
| 2063 | + | |
| 2064 | + | |
2036 | 2065 | | |
2037 | 2066 | | |
2038 | | - | |
2039 | | - | |
| 2067 | + | |
| 2068 | + | |
| 2069 | + | |
2040 | 2070 | | |
2041 | | - | |
| 2071 | + | |
2042 | 2072 | | |
2043 | | - | |
2044 | | - | |
2045 | | - | |
2046 | | - | |
2047 | | - | |
| 2073 | + | |
2048 | 2074 | | |
| 2075 | + | |
| 2076 | + | |
| 2077 | + | |
| 2078 | + | |
2049 | 2079 | | |
2050 | 2080 | | |
2051 | 2081 | | |
2052 | | - | |
| 2082 | + | |
2053 | 2083 | | |
2054 | 2084 | | |
2055 | 2085 | | |
| 2086 | + | |
2056 | 2087 | | |
2057 | 2088 | | |
2058 | 2089 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2026 | 2026 | | |
2027 | 2027 | | |
2028 | 2028 | | |
2029 | | - | |
2030 | | - | |
| 2029 | + | |
| 2030 | + | |
| 2031 | + | |
| 2032 | + | |
| 2033 | + | |
2031 | 2034 | | |
2032 | | - | |
2033 | | - | |
2034 | | - | |
2035 | | - | |
2036 | | - | |
2037 | | - | |
2038 | | - | |
2039 | | - | |
| 2035 | + | |
| 2036 | + | |
| 2037 | + | |
| 2038 | + | |
2040 | 2039 | | |
2041 | 2040 | | |
2042 | 2041 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
291 | 291 | | |
292 | 292 | | |
293 | 293 | | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
294 | 302 | | |
295 | 303 | | |
296 | 304 | | |
| |||
0 commit comments