[DataGrid] Tweak display: flex
and DataGridDisplayMode.Table
#2341
GitHub Actions / Core Tests
succeeded
Jan 12, 2025 in 0s
912 passed, 2 failed and 30 skipped
❌ TestResults/runneradmin_fv-az1785-210_2025-01-12_21_35_26.trx
944 tests were completed in 4s with 912 passed, 2 failed and 30 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
Microsoft.FluentUI.AspNetCore.Components.Tests._ToDo.Stack.FluentSlackTests | 1✅ | 2ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Accordion.FluentAccordionItemTests | 13✅ | 36ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Accordion.FluentAccordionTests | 9✅ | 17ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Anchor.FluentAnchorTests | 34✅ | 96ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.AnchoredRegion.FluentAnchoredRegionTests | 36✅ | 740ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.AppBar.FluentAppBarItemTests | 6✅ | 41ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.AppBar.FluentAppBarTests | 4✅ | 61ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Badge.FluentBadgeTests | 17✅ | 135ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.BodyContent.FluentBodyContentTests | 2✅ | 12ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Breadcrumb.FluentBreadcrumbItemTests | 29✅ | 160ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Breadcrumb.FluentBreadcrumbTests | 5✅ | 13ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Button.FluentButtonTests | 64✅ | 199ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Card.FluentCardTests | 13✅ | 51ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Checkbox.FluentCheckboxTests | 18✅ | 33ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Checkbox.FluentCheckboxThreeStatesTests | 8✅ | 25ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.CollapsibleRegion.FluentCollapsibleRegionTests | 4✅ | 9ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.CounterBadge.FluentCounterBadgeTests | 28✅ | 97ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.DataGrid.DataGridSortByTests | 4✅ | 129ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.DataGrid.FluentDataGridColumSelectTests | 22✅ | 1❌ | 850ms | |
Microsoft.FluentUI.AspNetCore.Components.Tests.DataGrid.FluentDataGridTests | 3✅ | 1❌ | 2s | |
Microsoft.FluentUI.AspNetCore.Components.Tests.DataGrid.GridSortTests | 10✅ | 107ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.DateTime.CalendarExtendedTests | 1✅ | 0ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.DateTime.FluentCalendarSelectionTests | 7✅ | 155ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.DateTime.FluentCalendarTests | 49✅ | 1s | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.DateTime.FluentDatePickerTests | 12✅ | 77ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.DateTime.FluentTimePickerTests | 6✅ | 29ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.DateTime.RangeOfTests | 7✅ | 8ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.DateTime.ToDateTimeExtensionsTests | 25✅ | 5ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.DateTime.ToTimeAgoTests | 31✅ | 72ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.DesignSystemProvider.FluentDesignSystemProviderTests | 1✅ | 19ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Dialog.FluentDialogServiceTests | 5✅ | 118ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Dialog.FluentDialogTests | 3✅ | 35ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Divider.FluentDividerTests | 6✅ | 16ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Drag.FluentDragTests | 1✅ | 6ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Emojis.FluentEmojiTests | 1⚪ | 1ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Extensions.AdditionalAttributesExtensionsShould | 24✅ | 1ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Flipper.FluentFlipperTests | 2✅ | 6ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Footer.FluentFooterTests | 1✅ | 3ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Forms.FluentValidationSummaryTests | 1⚪ | 1ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Grid.FluentGridTests | 23✅ | 48ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Header.FluentHeaderTests | 3✅ | 5ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Highlighter.FluentHighlighterTests | 1✅ | 513ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.HorizontalScroll.FluentHorizontalScrollTests | 1✅ | 8ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Icons.FluentIconTests | 22✅ | 51ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.InputFile.FluentInputFileTests | 11✅ | 55ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.KeyCodeProvider.FluentKeyCodeTests | 13✅ | 22ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Label.FluentInputLabelTests | 5✅ | 11ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Label.FluentLabelTests | 20✅ | 50ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Layout.FluentLayoutTests | 4✅ | 74ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.List.FluentAutocompleteTests | 22✅ | 538ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.List.FluentComboboxTests | 3✅ | 30ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.List.FluentListboxTests | 6✅ | 57ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.List.FluentPersonaTests | 7✅ | 59ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.List.FluentSelectTests | 13✅ | 84ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Main.FluentMainTests | 1✅ | 4ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.MainLayout.FluentMainLayoutTests | 1✅ | 107ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Menu.FluentMenuItemTests | 1⚪ | 1ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Menu.FluentMenuTests | 1✅ | 4ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.MenuButton.FluentMenuButtonTests | 2✅ | 13ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.MessageBar.FluentMessageBarTests | 4✅ | 20ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.MessageBar.MessageServiceTests | 4✅ | 76ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.NavMenu.FluentNavGroupTests | 9✅ | 61ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.NavMenu.FluentNavLinkTests | 11✅ | 117ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.NavMenu.FluentNavMenuTests | 8✅ | 29ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.NumberField.FluentNumberFieldTests | 32✅ | 81ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Overflow.FluentOverflowItemTests | 1⚪ | 1ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Overflow.FluentOverflowTests | 1⚪ | 1ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Overlay.FluentOverlayTests | 1✅ | 5ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Pagination.FluentPaginatorTests | 1⚪ | 1ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Popover.FluentPopoverTests | 1✅ | 6ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.PresenceBadge.FluentPresenceBadgeTests | 1⚪ | 1ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.ProfileMenu.FluentProfileMenuTests | 5✅ | 58ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Progress.FluentProgressRingTests | 8✅ | 27ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Progress.FluentProgressTests | 7✅ | 20ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.PullToRefresh.FluentPullToRefreshTests | 20✅ | 125ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Radio.FluentRadioGroupTests | 1✅ | 6ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Radio.FluentRadioTests | 1⚪ | 1ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Rating.FluentRatingTests | 13✅ | 69ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Search.FluentSearchTests | 1⚪ | 1ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Skeleton.FluentSkeletonTests | 1✅ | 5ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Slider.FluentSliderLabelTests | 1✅ | 29ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Slider.FluentSliderTests | 7✅ | 28ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.SortableList.FluentSortableListTests | 3✅ | 9ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Spacer.FluentSpacerTests | 1✅ | 2ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Splitter.FluentMultiSplitterTests | 9✅ | 77ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Splitter.FluentSplitterTests | 15✅ | 48ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Stack.FluentStackTests | 1✅ | 4ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Switch.FluentSwitchTests | 1✅ | 4ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Tabs.FluentTabsTests | 1⚪ | 1ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Tabs.FluentTabTests | 1⚪ | 1ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.TextArea.FluentTextAreaTests | 1✅ | 5ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.TextField.FluentTextFieldTests | 1✅ | 7ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Toast.FluentToastProviderTests | 1⚪ | 1ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Toast.FluentToastTests | 1⚪ | 1ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Toolbar.FluentToolbarTests | 1✅ | 5ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Tooltip.FluentTooltipTests | 2✅ | 13ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.TreeView.FluentTreeViewItemsTests | 11✅ | 81ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.TreeView.FluentTreeViewTests | 3✅ | 17ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Utilities.CssBuilderTests | 18✅ | 2ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Utilities.DebounceActionTests | 9⚪ | 9ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Utilities.DebounceTaskTests | 8⚪ | 8ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Utilities.InlineStyleBuilderTests | 7✅ | 7ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Utilities.SplitterTests | 3✅ | 8ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Utilities.StyleBuilderTests | 11✅ | 1ms | ||
Microsoft.FluentUI.AspNetCore.Components.Tests.Wizard.FluentWizardTests | 21✅ | 281ms |
❌ Microsoft.FluentUI.AspNetCore.Components.Tests.DataGrid.FluentDataGridColumSelectTests
✅ FluentDataGrid_ColumSelect_MultiSelect_Customized_Rendering
✅ FluentDataGrid_ColumSelect_MultiSelect_NotSelectFromEntireRow
✅ FluentDataGrid_ColumSelect_MultiSelect_Property
✅ FluentDataGrid_ColumSelect_MultiSelect_Rendering
✅ FluentDataGrid_ColumSelect_MultiSelect_SelectAll_Property
✅ FluentDataGrid_ColumSelect_MultiSelect_SelectAll_SelectedItems
✅ FluentDataGrid_ColumSelect_MultiSelect_SelectedItems
✅ FluentDataGrid_ColumSelect_Selectable_MultiSelect_Property
✅ FluentDataGrid_ColumSelect_Selectable_MultiSelect_SelectedItems
✅ FluentDataGrid_ColumSelect_Selectable_SingleSelect_Property
✅ FluentDataGrid_ColumSelect_Selectable_SingleSelect_SelectedItems
✅ FluentDataGrid_ColumSelect_Selectable_SingleStickySelect_Property
✅ FluentDataGrid_ColumSelect_Selectable_SingleStickySelect_SelectedItems
✅ FluentDataGrid_ColumSelect_SelectAll_Disabled
✅ FluentDataGrid_ColumSelect_SingleSelect_NotSelectFromEntireRow
✅ FluentDataGrid_ColumSelect_SingleSelect_Property
✅ FluentDataGrid_ColumSelect_SingleSelect_Rendering
✅ FluentDataGrid_ColumSelect_SingleSelect_SelectedItems
✅ FluentDataGrid_ColumSelect_SingleStickySameItemSelect_SelectedItems
✅ FluentDataGrid_ColumSelect_SingleStickySelect_Property
❌ FluentDataGrid_ColumSelect_SingleStickySelect_Rendering
Bunit.HtmlEqualException : HTML comparison failed.
The following errors were found:
1: The value of the attribute table(1) > thead(1) > tr(1) > th(1)[class] and actual attribute table(1) > thead(0) > tr(0) > th(0)[class] are different.
2: The value of the attribute table(1) > thead(1) > tr(1) > th(1)[style] and actual attribute table(1) > thead(0) > tr(0) > th(0)[style] are different.
3: The value of the attribute table(1) > thead(1) > tr(1) > th(3)[class] and actual attribute table(1) > thead(0) > tr(0) > th(1)[class] are different.
4: The value of the attribute table(1) > thead(1) > tr(1) > th(3)[style] and actual attribute table(1) > thead(0) > tr(0) > th(1)[style] are different.
Actual HTML:
<table id="xxx" class="fluent-data-grid grid" style="grid-template-columns: 50px auto;" aria-rowcount="4" >
<thead >
<tr class="fluent-data-grid-row" data-row-index="0" role="row" row-type="header" >
<th col-index="1" class="column-header select-all col-justify-center" style="grid-column: 1; text-align: center; align-content: center; padding-top: calc(var(--design-unit) * 2.5px); height: 32px; min-height: 44px;" scope="col" aria-sort="none" ></th>
<th col-index="2" class="column-header col-justify-start" style="grid-column: 2; height: 32px; min-height: 44px;" scope="col" aria-sort="none" >
<div class="col-title" style="width: calc(100% - 20px);" >
<div class="col-title-text" >Name</div>
</div>
</th>
</tr>
</thead>
<tbody >
<tr class="fluent-data-grid-row" data-row-index="2" role="row" aria-rowindex="2" >
<td col-index="1" class="col-justify-center" style="grid-column: 1; text-align: center; align-content: center; padding-inline-start: calc(((var(--design-unit)* 3) + var(--focus-stroke-width) - var(--stroke-width))* 1px); padding-top: calc(var(--design-unit) * 1.5px); height: 32px;" role="gridcell" tabindex="0" >
<svg style="width: 20px; fill: var(--neutral-fill-inverse-rest);" focusable="false" viewBox="0 0 20 20" aria-hidden="true" >
<title>Row unselected</title>
<path d="M10 3a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-8 7a8 8 0 1 1 16 0 8 8 0 0 1-16 0Z"></path>
</svg>
</td>
<td col-index="2" class="col-justify-start" style="grid-column: 2; height: 32px;" role="gridcell" tabindex="0" >Jean Martin</td>
</tr>
<tr class="fluent-data-grid-row" data-row-index="3" role="row" aria-rowindex="3" >
<td col-index="1" class="col-justify-center" style="grid-column: 1; text-align: center; align-content: center; padding-inline-start: calc(((var(--design-unit)* 3) + var(--focus-stroke-width) - var(--stroke-width))* 1px); padding-top: calc(var(--design-unit) * 1.5px); height: 32px;" role="gridcell" tabindex="0" >
<svg style="width: 20px; fill: var(--accent-fill-rest);" focusable="false" viewBox="0 0 20 20" aria-hidden="true" row-selected="">
<title>Row selected.</title>
<path d="M10 15a5 5 0 1 0 0-10 5 5 0 0 0 0 10Zm0-13a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm-7 8a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z"></path>
</svg>
</td>
<td col-index="2" class="col-justify-start" style="grid-column: 2; height: 32px;" role="gridcell" tabindex="0" >Kenji Sato</td>
</tr>
<tr class="fluent-data-grid-row" data-row-index="4" role="row" aria-rowindex="4" >
<td col-index="1" class="col-justify-center" style="grid-column: 1; text-align: center; align-content: center; padding-inline-start: calc(((var(--design-unit)* 3) + var(--focus-stroke-width) - var(--stroke-width))* 1px); padding-top: calc(var(--design-unit) * 1.5px); height: 32px;" role="gridcell" tabindex="0" >
<svg style="width: 20px; fill: var(--neutral-fill-inverse-rest);" focusable="false" viewBox="0 0 20 20" aria-hidden="true" >
<title>Row unselected</title>
<path d="M10 3a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-8 7a8 8 0 1 1 16 0 8 8 0 0 1-16 0Z"></path>
</svg>
</td>
<td col-index="2" class="col-justify-start" style="grid-column: 2; height: 32px;" role="gridcell" tabindex="0" >Julie Smith</td>
</tr>
</tbody>
</table>
Expected HTML:
<table id="xxx" class="fluent-data-grid grid" style="grid-template-columns: 50px auto;" aria-rowcount="4" >
<thead >
<tr class="fluent-data-grid-row" data-row-index="0" role="row" row-type="header" >
<th col-index="1" class="column-header select-all col-justify-center col-sort-desc" style="grid-column: 1; text-align: center; align-content: center; padding-top: calc(var(--design-unit) * 2.5px); height: 32px; min-height: 44px; display: flex;" scope="col" aria-sort="none" ></th>
<th col-index="2" class="column-header col-justify-start col-sort-desc" style="grid-column: 2; height: 32px; min-height: 44px; display: flex;" scope="col" aria-sort="none" >
<div class="col-title" style="width: calc(100% - 20px);" >
<div class="col-title-text" >Name</div>
</div>
</th>
</tr>
</thead>
<tbody >
<tr class="fluent-data-grid-row" data-row-index="2" role="row" aria-rowindex="2" >
<td col-index="1" class="col-justify-center" style="grid-column: 1; text-align: center; align-content: center; padding-inline-start: calc(((var(--design-unit)* 3) + var(--focus-stroke-width) - var(--stroke-width))* 1px); padding-top: calc(var(--design-unit) * 1.5px); height: 32px;" role="gridcell" tabindex="0" >
<svg style="width: 20px; fill: var(--neutral-fill-inverse-rest);" focusable="false" viewBox="0 0 20 20" aria-hidden="true" >
<title>Row unselected</title>
<path d="M10 3a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-8 7a8 8 0 1 1 16 0 8 8 0 0 1-16 0Z"></path>
</svg>
</td>
<td col-index="2" class="col-justify-start" style="grid-column: 2; height: 32px;" role="gridcell" tabindex="0" >Jean Martin</td>
</tr>
<tr class="fluent-data-grid-row" data-row-index="3" role="row" aria-rowindex="3" >
<td col-index="1" class="col-justify-center" style="grid-column: 1; text-align: center; align-content: center; padding-inline-start: calc(((var(--design-unit)* 3) + var(--focus-stroke-width) - var(--stroke-width))* 1px); padding-top: calc(var(--design-unit) * 1.5px); height: 32px;" role="gridcell" tabindex="0" >
<svg style="width: 20px; fill: var(--accent-fill-rest);" focusable="false" viewBox="0 0 20 20" aria-hidden="true" row-selected="">
<title>Row selected.</title>
<path d="M10 15a5 5 0 1 0 0-10 5 5 0 0 0 0 10Zm0-13a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm-7 8a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z"></path>
</svg>
</td>
<td col-index="2" class="col-justify-start" style="grid-column: 2; height: 32px;" role="gridcell" tabindex="0" >Kenji Sato</td>
</tr>
<tr class="fluent-data-grid-row" data-row-index="4" role="row" aria-rowindex="4" >
<td col-index="1" class="col-justify-center" style="grid-column: 1; text-align: center; align-content: center; padding-inline-start: calc(((var(--design-unit)* 3) + var(--focus-stroke-width) - var(--stroke-width))* 1px); padding-top: calc(var(--design-unit) * 1.5px); height: 32px;" role="gridcell" tabindex="0" >
<svg style="width: 20px; fill: var(--neutral-fill-inverse-rest);" focusable="false" viewBox="0 0 20 20" aria-hidden="true" >
<title>Row unselected</title>
<path d="M10 3a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-8 7a8 8 0 1 1 16 0 8 8 0 0 1-16 0Z"></path>
</svg>
</td>
<td col-index="2" class="col-justify-start" style="grid-column: 2; height: 32px;" role="gridcell" tabindex="0" >Julie Smith</td>
</tr>
</tbody>
</table>
✅ FluentDataGrid_ColumSelect_SingleStickySelect_SelectedItems
✅ FluentDataGrid_ColumSelect_SwitchMultiToSingleSelect
❌ Microsoft.FluentUI.AspNetCore.Components.Tests.DataGrid.FluentDataGridTests
✅ FluentDataGrid_Default
✅ FluentDataGrid_With_Empty_Items_Stays_Loading_Until_Changed
❌ FluentDataGrid_With_ItemProvider_And_Uncontrolled_Loading_Starts_Loading
Bunit.Extensions.WaitForHelpers.WaitForFailedException : The state predicate did not pass before the timeout period passed. Check count: 0. Component render count: 6. Total render count: 6.
✅ FluentDataGrid_With_ItemProvider_Stays_Loading_Until_ChangedAsync
Annotations
Check failure on line 113 in tests/Core/FluentAssert.cs
github-actions / Core Tests
Microsoft.FluentUI.AspNetCore.Components.Tests.DataGrid.FluentDataGridColumSelectTests ► FluentDataGrid_ColumSelect_SingleStickySelect_Rendering
Failed test found in:
TestResults/runneradmin_fv-az1785-210_2025-01-12_21_35_26.trx
Error:
Bunit.HtmlEqualException : HTML comparison failed.
The following errors were found:
1: The value of the attribute table(1) > thead(1) > tr(1) > th(1)[class] and actual attribute table(1) > thead(0) > tr(0) > th(0)[class] are different.
2: The value of the attribute table(1) > thead(1) > tr(1) > th(1)[style] and actual attribute table(1) > thead(0) > tr(0) > th(0)[style] are different.
3: The value of the attribute table(1) > thead(1) > tr(1) > th(3)[class] and actual attribute table(1) > thead(0) > tr(0) > th(1)[class] are different.
4: The value of the attribute table(1) > thead(1) > tr(1) > th(3)[style] and actual attribute table(1) > thead(0) > tr(0) > th(1)[style] are different.
Actual HTML:
<table id="xxx" class="fluent-data-grid grid" style="grid-template-columns: 50px auto;" aria-rowcount="4" >
<thead >
<tr class="fluent-data-grid-row" data-row-index="0" role="row" row-type="header" >
<th col-index="1" class="column-header select-all col-justify-center" style="grid-column: 1; text-align: center; align-content: center; padding-top: calc(var(--design-unit) * 2.5px); height: 32px; min-height: 44px;" scope="col" aria-sort="none" ></th>
<th col-index="2" class="column-header col-justify-start" style="grid-column: 2; height: 32px; min-height: 44px;" scope="col" aria-sort="none" >
<div class="col-title" style="width: calc(100% - 20px);" >
<div class="col-title-text" >Name</div>
</div>
</th>
</tr>
</thead>
<tbody >
<tr class="fluent-data-grid-row" data-row-index="2" role="row" aria-rowindex="2" >
<td col-index="1" class="col-justify-center" style="grid-column: 1; text-align: center; align-content: center; padding-inline-start: calc(((var(--design-unit)* 3) + var(--focus-stroke-width) - var(--stroke-width))* 1px); padding-top: calc(var(--design-unit) * 1.5px); height: 32px;" role="gridcell" tabindex="0" >
<svg style="width: 20px; fill: var(--neutral-fill-inverse-rest);" focusable="false" viewBox="0 0 20 20" aria-hidden="true" >
<title>Row unselected</title>
<path d="M10 3a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-8 7a8 8 0 1 1 16 0 8 8 0 0 1-16 0Z"></path>
</svg>
</td>
<td col-index="2" class="col-justify-start" style="grid-column: 2; height: 32px;" role="gridcell" tabindex="0" >Jean Martin</td>
</tr>
<tr class="fluent-data-grid-row" data-row-index="3" role="row" aria-rowindex="3" >
<td col-index="1" class="col-justify-center" style="grid-column: 1; text-align: center; align-content: center; padding-inline-start: calc(((var(--design-unit)* 3) + var(--focus-stroke-width) - var(--stroke-width))* 1px); padding-top: calc(var(--design-unit) * 1.5px); height: 32px;" role="gridcell" tabindex="0" >
<svg style="width: 20px; fill: var(--accent-fill-rest);" focusable="false" viewBox="0 0 20 20" aria-hidden="true" row-selected="">
<title>Row selected.</title>
<path d="M10 15a5 5 0 1 0 0-10 5 5 0 0 0 0 10Zm0-13a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm-7 8a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z"></path>
</svg>
</td>
<td col-index="2" class="col-justify-start" style="grid-column: 2; height: 32px;" role="gridcell" tabindex="0" >Kenji Sato</td>
</tr>
<tr class="fluent-data-grid-row" data-row-index="4" role="row" aria-rowindex="4" >
<td col-index="1" class="col-justify-center" style="grid-column: 1; text-align: center; align-content: center; padding-inline-start: calc(((var(--design-unit)* 3) + var(--focus-stroke-width) - var(--stroke-width))* 1px); padding-top: calc(var(--design-unit) * 1.5px); height: 32px;" role="gridcell" tabindex="0" >
<svg style="width: 20px; fill: var(--neutral-fill-inverse-rest);" focusable="false" viewBox="0 0 20 20" aria-hidden="true" >
<title>Row unselected</title>
<path d="M10 3a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-8 7a8 8 0 1 1 16 0 8 8 0 0 1-16 0Z"></path>
</svg>
</td>
<td col-index="2" class="col-justify-start" style="grid-column: 2; height: 32px;" role="gridcell" tabindex="0" >Julie Smith</td>
</tr>
</tbody>
</table>
Expected HTML:
<table id="xxx" class="fluent-data-grid grid" style="grid-template-columns: 50px auto;" aria-rowcount="4" >
<thead >
<tr class="fluent-data-grid-row" data-row-index="0" role="row" row-type="header" >
<th col-index="1" class="column-header select-all col-justify-center col-sort-desc" style="grid-column: 1; text-align: center; align-content: center; padding-top: calc(var(--design-unit) * 2.5px); height: 32px; min-height: 44px; display: flex;" scope="col" aria-sort="none" ></th>
<th col-index="2" class="column-header col-justify-start col-sort-desc" style="grid-column: 2; height: 32px; min-height: 44px; display: flex;" scope="col" aria-sort="none" >
<div class="col-title" style="width: calc(100% - 20px);" >
<div class="col-title-text" >Name</div>
</div>
</th>
</tr>
</thead>
<tbody >
<tr class="fluent-data-grid-row" data-row-index="2" role="row" aria-rowindex="2" >
<td col-index="1" class="col-justify-center" style="grid-column: 1; text-align: center; align-content: center; padding-inline-start: calc(((var(--design-unit)* 3) + var(--focus-stroke-width) - var(--stroke-width))* 1px); padding-top: calc(var(--design-unit) * 1.5px); height: 32px;" role="gridcell" tabindex="0" >
<svg style="width: 20px; fill: var(--neutral-fill-inverse-rest);" focusable="false" viewBox="0 0 20 20" aria-hidden="true" >
<title>Row unselected</title>
<path d="M10 3a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-8 7a8 8 0 1 1 16 0 8 8 0 0 1-16 0Z"></path>
</svg>
</td>
<td col-index="2" class="col-justify-start" style="grid-column: 2; height: 32px;" role="gridcell" tabindex="0" >Jean Martin</td>
</tr>
<tr class="fluent-data-grid-row" data-row-index="3" role="row" aria-rowindex="3" >
<td col-index="1" class="col-justify-center" style="grid-column: 1; text-align: center; align-content: center; padding-inline-start: calc(((var(--design-unit)* 3) + var(--focus-stroke-width) - var(--stroke-width))* 1px); padding-top: calc(var(--design-unit) * 1.5px); height: 32px;" role="gridcell" tabindex="0" >
<svg style="width: 20px; fill: var(--accent-fill-rest);" focusable="false" viewBox="0 0 20 20" aria-hidden="true" row-selected="">
<title>Row selected.</title>
<path d="M10 15a5 5 0 1 0 0-10 5 5 0 0 0 0 10Zm0-13a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm-7 8a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z"></path>
</svg>
</td>
<td col-index="2" class="col-justify-start" style="grid-column: 2; height: 32px;" role="gridcell" tabindex="0" >Kenji Sato</td>
</tr>
<tr class="fluent-data-grid-row" data-row-index="4" role="row" aria-rowindex="4" >
<td col-index="1" class="col-justify-center" style="grid-column: 1; text-align: center; align-content: center; padding-inline-start: calc(((var(--design-unit)* 3) + var(--focus-stroke-width) - var(--stroke-width))* 1px); padding-top: calc(var(--design-unit) * 1.5px); height: 32px;" role="gridcell" tabindex="0" >
<svg style="width: 20px; fill: var(--neutral-fill-inverse-rest);" focusable="false" viewBox="0 0 20 20" aria-hidden="true" >
<title>Row unselected</title>
<path d="M10 3a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-8 7a8 8 0 1 1 16 0 8 8 0 0 1-16 0Z"></path>
</svg>
</td>
<td col-index="2" class="col-justify-start" style="grid-column: 2; height: 32px;" role="gridcell" tabindex="0" >Julie Smith</td>
</tr>
</tbody>
</table>
Raw output
Bunit.HtmlEqualException : HTML comparison failed.
The following errors were found:
1: The value of the attribute table(1) > thead(1) > tr(1) > th(1)[class] and actual attribute table(1) > thead(0) > tr(0) > th(0)[class] are different.
2: The value of the attribute table(1) > thead(1) > tr(1) > th(1)[style] and actual attribute table(1) > thead(0) > tr(0) > th(0)[style] are different.
3: The value of the attribute table(1) > thead(1) > tr(1) > th(3)[class] and actual attribute table(1) > thead(0) > tr(0) > th(1)[class] are different.
4: The value of the attribute table(1) > thead(1) > tr(1) > th(3)[style] and actual attribute table(1) > thead(0) > tr(0) > th(1)[style] are different.
Actual HTML:
<table id="xxx" class="fluent-data-grid grid" style="grid-template-columns: 50px auto;" aria-rowcount="4" >
<thead >
<tr class="fluent-data-grid-row" data-row-index="0" role="row" row-type="header" >
<th col-index="1" class="column-header select-all col-justify-center" style="grid-column: 1; text-align: center; align-content: center; padding-top: calc(var(--design-unit) * 2.5px); height: 32px; min-height: 44px;" scope="col" aria-sort="none" ></th>
<th col-index="2" class="column-header col-justify-start" style="grid-column: 2; height: 32px; min-height: 44px;" scope="col" aria-sort="none" >
<div class="col-title" style="width: calc(100% - 20px);" >
<div class="col-title-text" >Name</div>
</div>
</th>
</tr>
</thead>
<tbody >
<tr class="fluent-data-grid-row" data-row-index="2" role="row" aria-rowindex="2" >
<td col-index="1" class="col-justify-center" style="grid-column: 1; text-align: center; align-content: center; padding-inline-start: calc(((var(--design-unit)* 3) + var(--focus-stroke-width) - var(--stroke-width))* 1px); padding-top: calc(var(--design-unit) * 1.5px); height: 32px;" role="gridcell" tabindex="0" >
<svg style="width: 20px; fill: var(--neutral-fill-inverse-rest);" focusable="false" viewBox="0 0 20 20" aria-hidden="true" >
<title>Row unselected</title>
<path d="M10 3a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-8 7a8 8 0 1 1 16 0 8 8 0 0 1-16 0Z"></path>
</svg>
</td>
<td col-index="2" class="col-justify-start" style="grid-column: 2; height: 32px;" role="gridcell" tabindex="0" >Jean Martin</td>
</tr>
<tr class="fluent-data-grid-row" data-row-index="3" role="row" aria-rowindex="3" >
<td col-index="1" class="col-justify-center" style="grid-column: 1; text-align: center; align-content: center; padding-inline-start: calc(((var(--design-unit)* 3) + var(--focus-stroke-width) - var(--stroke-width))* 1px); padding-top: calc(var(--design-unit) * 1.5px); height: 32px;" role="gridcell" tabindex="0" >
<svg style="width: 20px; fill: var(--accent-fill-rest);" focusable="false" viewBox="0 0 20 20" aria-hidden="true" row-selected="">
<title>Row selected.</title>
<path d="M10 15a5 5 0 1 0 0-10 5 5 0 0 0 0 10Zm0-13a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm-7 8a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z"></path>
</svg>
</td>
<td col-index="2" class="col-justify-start" style="grid-column: 2; height: 32px;" role="gridcell" tabindex="0" >Kenji Sato</td>
</tr>
<tr class="fluent-data-grid-row" data-row-index="4" role="row" aria-rowindex="4" >
<td col-index="1" class="col-justify-center" style="grid-column: 1; text-align: center; align-content: center; padding-inline-start: calc(((var(--design-unit)* 3) + var(--focus-stroke-width) - var(--stroke-width))* 1px); padding-top: calc(var(--design-unit) * 1.5px); height: 32px;" role="gridcell" tabindex="0" >
<svg style="width: 20px; fill: var(--neutral-fill-inverse-rest);" focusable="false" viewBox="0 0 20 20" aria-hidden="true" >
<title>Row unselected</title>
<path d="M10 3a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-8 7a8 8 0 1 1 16 0 8 8 0 0 1-16 0Z"></path>
</svg>
</td>
<td col-index="2" class="col-justify-start" style="grid-column: 2; height: 32px;" role="gridcell" tabindex="0" >Julie Smith</td>
</tr>
</tbody>
</table>
Expected HTML:
<table id="xxx" class="fluent-data-grid grid" style="grid-template-columns: 50px auto;" aria-rowcount="4" >
<thead >
<tr class="fluent-data-grid-row" data-row-index="0" role="row" row-type="header" >
<th col-index="1" class="column-header select-all col-justify-center col-sort-desc" style="grid-column: 1; text-align: center; align-content: center; padding-top: calc(var(--design-unit) * 2.5px); height: 32px; min-height: 44px; display: flex;" scope="col" aria-sort="none" ></th>
<th col-index="2" class="column-header col-justify-start col-sort-desc" style="grid-column: 2; height: 32px; min-height: 44px; display: flex;" scope="col" aria-sort="none" >
<div class="col-title" style="width: calc(100% - 20px);" >
<div class="col-title-text" >Name</div>
</div>
</th>
</tr>
</thead>
<tbody >
<tr class="fluent-data-grid-row" data-row-index="2" role="row" aria-rowindex="2" >
<td col-index="1" class="col-justify-center" style="grid-column: 1; text-align: center; align-content: center; padding-inline-start: calc(((var(--design-unit)* 3) + var(--focus-stroke-width) - var(--stroke-width))* 1px); padding-top: calc(var(--design-unit) * 1.5px); height: 32px;" role="gridcell" tabindex="0" >
<svg style="width: 20px; fill: var(--neutral-fill-inverse-rest);" focusable="false" viewBox="0 0 20 20" aria-hidden="true" >
<title>Row unselected</title>
<path d="M10 3a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-8 7a8 8 0 1 1 16 0 8 8 0 0 1-16 0Z"></path>
</svg>
</td>
<td col-index="2" class="col-justify-start" style="grid-column: 2; height: 32px;" role="gridcell" tabindex="0" >Jean Martin</td>
</tr>
<tr class="fluent-data-grid-row" data-row-index="3" role="row" aria-rowindex="3" >
<td col-index="1" class="col-justify-center" style="grid-column: 1; text-align: center; align-content: center; padding-inline-start: calc(((var(--design-unit)* 3) + var(--focus-stroke-width) - var(--stroke-width))* 1px); padding-top: calc(var(--design-unit) * 1.5px); height: 32px;" role="gridcell" tabindex="0" >
<svg style="width: 20px; fill: var(--accent-fill-rest);" focusable="false" viewBox="0 0 20 20" aria-hidden="true" row-selected="">
<title>Row selected.</title>
<path d="M10 15a5 5 0 1 0 0-10 5 5 0 0 0 0 10Zm0-13a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm-7 8a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z"></path>
</svg>
</td>
<td col-index="2" class="col-justify-start" style="grid-column: 2; height: 32px;" role="gridcell" tabindex="0" >Kenji Sato</td>
</tr>
<tr class="fluent-data-grid-row" data-row-index="4" role="row" aria-rowindex="4" >
<td col-index="1" class="col-justify-center" style="grid-column: 1; text-align: center; align-content: center; padding-inline-start: calc(((var(--design-unit)* 3) + var(--focus-stroke-width) - var(--stroke-width))* 1px); padding-top: calc(var(--design-unit) * 1.5px); height: 32px;" role="gridcell" tabindex="0" >
<svg style="width: 20px; fill: var(--neutral-fill-inverse-rest);" focusable="false" viewBox="0 0 20 20" aria-hidden="true" >
<title>Row unselected</title>
<path d="M10 3a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-8 7a8 8 0 1 1 16 0 8 8 0 0 1-16 0Z"></path>
</svg>
</td>
<td col-index="2" class="col-justify-start" style="grid-column: 2; height: 32px;" role="gridcell" tabindex="0" >Julie Smith</td>
</tr>
</tbody>
</table>
at Microsoft.FluentUI.AspNetCore.Components.Tests.FluentAssert.Verify(IRenderedFragment actual, Func`2 received, String filename, String memberName, String suffix) in D:\a\fluentui-blazor\fluentui-blazor\tests\Core\FluentAssert.cs:line 113
at Microsoft.FluentUI.AspNetCore.Components.Tests.DataGrid.FluentDataGridColumSelectTests.FluentDataGrid_ColumSelect_SingleStickySelect_Rendering() in D:\a\fluentui-blazor\fluentui-blazor\tests\Core\DataGrid\FluentDataGridColumSelectTests.razor:line 164
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
Check failure on line 143 in tests/Core/DataGrid/FluentDataGridTests.razor
github-actions / Core Tests
Microsoft.FluentUI.AspNetCore.Components.Tests.DataGrid.FluentDataGridTests ► FluentDataGrid_With_ItemProvider_And_Uncontrolled_Loading_Starts_Loading
Failed test found in:
TestResults/runneradmin_fv-az1785-210_2025-01-12_21_35_26.trx
Error:
Bunit.Extensions.WaitForHelpers.WaitForFailedException : The state predicate did not pass before the timeout period passed. Check count: 0. Component render count: 6. Total render count: 6.
Raw output
Bunit.Extensions.WaitForHelpers.WaitForFailedException : The state predicate did not pass before the timeout period passed. Check count: 0. Component render count: 6. Total render count: 6.
at Bunit.RenderedFragmentWaitForHelperExtensions.WaitForState(IRenderedFragmentBase renderedFragment, Func`1 statePredicate, Nullable`1 timeout) in /_/src/bunit.core/Extensions/WaitForHelpers/RenderedFragmentWaitForHelperExtensions.cs:line 32
at Microsoft.FluentUI.AspNetCore.Components.Tests.DataGrid.FluentDataGridTests.FluentDataGrid_With_ItemProvider_And_Uncontrolled_Loading_Starts_Loading() in D:\a\fluentui-blazor\fluentui-blazor\tests\Core\DataGrid\FluentDataGridTests.razor:line 143
--- End of stack trace from previous location ---
Loading