From 6a462e4d469bf638d3d1486dc840143d4e6718f1 Mon Sep 17 00:00:00 2001 From: Steven Giesel Date: Thu, 4 May 2023 20:26:13 +0200 Subject: [PATCH 1/3] refactor: Move EnumerableExtensions to usage and made it internal --- .../Extensions/EnumerableExtensions.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename src/{bunit.core => bunit.web}/Extensions/EnumerableExtensions.cs (75%) diff --git a/src/bunit.core/Extensions/EnumerableExtensions.cs b/src/bunit.web/Extensions/EnumerableExtensions.cs similarity index 75% rename from src/bunit.core/Extensions/EnumerableExtensions.cs rename to src/bunit.web/Extensions/EnumerableExtensions.cs index ca454840f..f6a501858 100644 --- a/src/bunit.core/Extensions/EnumerableExtensions.cs +++ b/src/bunit.web/Extensions/EnumerableExtensions.cs @@ -3,10 +3,10 @@ namespace Bunit.Extensions; /// /// Helper methods for working with . /// -public static class EnumerableExtensions +internal static class EnumerableExtensions { /// - /// Returns true if the numerable is null or empty. + /// Returns true if the enumerable is null or empty. /// public static bool IsNullOrEmpty([NotNullWhen(false)] this IEnumerable? enumerable) { From 4910e9ae148f4c3c14c4166635893e77e9b47919 Mon Sep 17 00:00:00 2001 From: Steven Giesel Date: Thu, 4 May 2023 21:16:41 +0200 Subject: [PATCH 2/3] refactor: Decrease visibility oof LoggerHelperExtensions --- src/bunit.core/Extensions/LoggerHelperExtensions.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bunit.core/Extensions/LoggerHelperExtensions.cs b/src/bunit.core/Extensions/LoggerHelperExtensions.cs index 2efe28ac3..de90249e2 100644 --- a/src/bunit.core/Extensions/LoggerHelperExtensions.cs +++ b/src/bunit.core/Extensions/LoggerHelperExtensions.cs @@ -6,7 +6,7 @@ namespace Bunit.Extensions; /// /// Helper extension methods for getting a logger. /// -public static class LoggerHelperExtensions +internal static class LoggerHelperExtensions { /// /// Creates a logger from the registered in the . From 8bc5b72ebc68e1e90ad168442162c4a191e9483b Mon Sep 17 00:00:00 2001 From: Steven Giesel Date: Fri, 5 May 2023 07:55:04 +0200 Subject: [PATCH 3/3] add: Documentation for migration --- MIGRATION.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/MIGRATION.md b/MIGRATION.md index ac6b11983..e47004cd5 100644 --- a/MIGRATION.md +++ b/MIGRATION.md @@ -4,4 +4,21 @@ This document describes the changes that need to be made to migrate from bUnit 1 ## Removal of `GetChangesSinceFirstRender` and `GetChangesSinceLastRender` methods The `GetChangesSinceFirstRender` and `GetChangesSinceLastRender` methods have been removed from `IRenderedComponent`. There is no one-to-one replacement for these methods, but the general idea is to select the HTML in question via `Find` and assert against that. -Alternatively, the `IRenderFragment` still offers the `OnMarkupUpdated` event, which can be used to assert against the markup after a render. \ No newline at end of file +Alternatively, the `IRenderFragment` still offers the `OnMarkupUpdated` event, which can be used to assert against the markup after a render. + +## Removal of `IsNullOrEmpty` extension method on `IEnumerable` and `CreateLogger` on `IserviceProvider` +The `IsNullOrEmpty` extension method on `IEnumerable` has been removed, as well as the `CreateLogger` extension method on `IServiceProvider`. These extension methods are pretty common and conflict with other libraries. These methods can be recreated like this: + +```csharp +public static class Extensions +{ + public static bool IsNullOrEmpty(this IEnumerable enumerable) + => enumerable == null || !enumerable.Any(); + + public static ILogger CreateLogger(this IServiceProvider serviceProvider) + { + var loggerFactory = serviceProvider.GetRequiredService() ?? NullLoggerFactory.Instance; + return loggerFactory.CreateLogger(); + } +} +``` \ No newline at end of file