From 63e1348dab180957de7614141cdf043abc20e499 Mon Sep 17 00:00:00 2001
From: hchxxzx <6087199@qq.com>
Date: Wed, 9 Nov 2022 14:34:15 +0800
Subject: [PATCH] =?UTF-8?q?=E5=8E=9F=E8=8E=B7=E5=8F=96=E5=BE=97=E6=A0=91?=
=?UTF-8?q?=E6=89=80=E6=9C=89=E8=8A=82=E7=82=B9=E6=96=B9=E6=B3=95GetAllIte?=
=?UTF-8?q?ms=E5=9C=A8=E5=A4=9A=E9=A1=B6=E7=BA=A7=E8=8A=82=E7=82=B9?=
=?UTF-8?q?=E6=83=85=E5=86=B5=E6=9D=A1=E4=BB=B6=E4=B8=8B=E8=8E=B7=E5=8F=96?=
=?UTF-8?q?=E4=B8=8D=E5=87=86=E7=A1=AE=E3=80=82=20=E7=8E=B0=E8=BF=9B?=
=?UTF-8?q?=E8=A1=8C=E4=BF=AE=E5=A4=8D=EF=BC=8C=E5=B9=B6=E6=B7=BB=E5=8A=A0?=
=?UTF-8?q?=E7=9B=B8=E5=BA=94=E7=9A=84=E6=B5=8B=E8=AF=95=E6=96=B9=E6=B3=95?=
=?UTF-8?q?=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Extensions/TreeItemExtensions.cs | 3 +-
.../Extensions/TreeItemExtensionsTest.cs | 74 +++++++++++++++++++
2 files changed, 76 insertions(+), 1 deletion(-)
create mode 100644 test/UnitTest/Extensions/TreeItemExtensionsTest.cs
diff --git a/src/BootstrapBlazor/Extensions/TreeItemExtensions.cs b/src/BootstrapBlazor/Extensions/TreeItemExtensions.cs
index 802e7368a..626a662dd 100644
--- a/src/BootstrapBlazor/Extensions/TreeItemExtensions.cs
+++ b/src/BootstrapBlazor/Extensions/TreeItemExtensions.cs
@@ -35,7 +35,8 @@ public static class TreeItemExtensions
///
public static IEnumerable> GetAllItems(this IEnumerable> source)
{
- return GetAllSubItems(source).Append(source.First());
+ //return GetAllSubItems(source).Append(source.First());
+ return GetAllSubItems(source).Union(source);
}
///
diff --git a/test/UnitTest/Extensions/TreeItemExtensionsTest.cs b/test/UnitTest/Extensions/TreeItemExtensionsTest.cs
new file mode 100644
index 000000000..b8b9e7a82
--- /dev/null
+++ b/test/UnitTest/Extensions/TreeItemExtensionsTest.cs
@@ -0,0 +1,74 @@
+// Copyright (c) Argo Zhang (argo@163.com). All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+// Website: https://www.blazor.zone or https://argozhang.github.io/
+
+using System.Diagnostics;
+
+namespace UnitTest.Extensions;
+
+public class TreeItemExtensionsTest
+{
+
+ ///
+ /// 单一顶级树节点
+ ///
+ [Fact]
+ public async Task 单一顶级树节点()
+ {
+ //GetAllItems存在错误。
+ var sourceItems = new List>()
+ {
+ new TreeViewItem("01")
+ {
+ Text="01",Items = new List>()
+ {
+ new TreeViewItem("0101") { Text="0101" },
+ new TreeViewItem("0102") { Text="0102" },
+ }
+ }
+ };
+
+ var items = sourceItems.GetAllItems();
+ var list = items.Select(x => x.Text ?? "").ToList();
+
+ Assert.True(items.Count() == 3);
+
+ await Task.CompletedTask;
+ }
+
+
+ ///
+ /// 多顶级树节点
+ ///
+ [Fact]
+ public async Task 多顶级树节点()
+ {
+ //GetAllItems存在错误。
+ var sourceItems = new List>()
+ {
+ new TreeViewItem("01")
+ {
+ Text="01",Items = new List>()
+ {
+ new TreeViewItem("0101") { Text="0101" },
+ new TreeViewItem("0102") { Text="0102" },
+ }
+ },
+ new TreeViewItem("02")
+ {
+ Text="02",Items = new List>()
+ {
+ new TreeViewItem("0201") { Text="0201" },
+ new TreeViewItem("0202") { Text="0202" },
+ }
+ },
+ };
+
+ var items = sourceItems.GetAllItems();
+ var list = items.Select(x => x.Text ?? "").ToList();
+
+ Assert.True(items.Count() == 6);
+
+ await Task.CompletedTask;
+ }
+}
--
Gitee