Skip to content

Releases: bUnit-dev/bUnit

1.28.9

19 Apr 14:45
f246f7a
Compare
Choose a tag to compare

Fixed

  • bUnit's built-in HTML parser did not correctly parse full HTML documents that included a <!DOCTYPE html> as the first element. Fixed by @egil.
  • @formname directive led to an InvalidOperationException when used on a form element. Reported by @suzu2469 in #1438.
    Fixed by @egil/@linkdotnet.

Changed

  • NavigationManager is again registered as a singleton instead of scoped.

1.27.17

02 Mar 16:35
2aaf01d
Compare
Choose a tag to compare

Added

  • Support for IKeyedServiceProvider in net8.0. Reported by @ViRuSTriNiTy. By @linkdotnet.
  • Support for net9.0. NOTE, there is no commitment as of now to support net9.0 in bUnit v1. However. Support for net9.0 may move to a future v2 release of bUnit and be deprecated in v1. However, allowing bUnit to build and work with net9.0 previews allows our users to keep testing!

Fixed

1.26.64

20 Dec 13:37
2849c0f
Compare
Choose a tag to compare

Changed

  • Upgraded AngleSharp to 1.0.7.

Fixed

  • When the TestContext was disposed, the Blazor Renderer itself didn't dispose components under test. By @linkdotnet.
  • When navigating, the HistoryEntryState on NavigationManager will be populated. By @linkdotnet.

Added

  • New overloads for IRenderedFragmentBase.InvokeAsync that allow retrieving the work item's return value. By @jcparkyn.

1.25.3

14 Nov 21:25
b9db836
Compare
Choose a tag to compare
  • Upgrade all .NET 8 preview dependencies to .NET 8 stable.

1.24.10

14 Oct 21:08
83ef62f
Compare
Choose a tag to compare

Fixed

  • When the TestContext was disposed, it disposed of all services via the service provider. However, if there were ongoing renders happening, this could cause inconsistent state in the render tree, since the TestRenderer could try to access the service provider to instantiate components.
    This release changes the dispose phase such that the renderer gets disposed first, then the service provider. The disposal of any services that implement IAsyncDisposable is now also awaited. Fixed by @egil and @linkdotnet. Reported by @BenSchoen in #1227.

Added

  • Support for custom service provider factories (IServiceProviderFactory<TContainerBuilder>). This enables the use of Autofac and other frameworks for dependency injection like on real-world ASP.NET Core / Blazor projects. By @inf9144.

  • Ability to raise the oncancel and onclose event, that was introduced with .NET 8.

1.23.9

06 Sep 11:06
3142159
Compare
Choose a tag to compare

Fixed

  • If the renderer was not idle when calling SetParametersAndRender, the method could return before the parameters were set and the component under test had finished rendering. This was a regression that happened in v1.21.9. Reported by @Skintkingle in #1188. Fixed by @egil.

Added

  • net8.0 support
  • Increased timeout of WaitForAssertion to infinite when a debugger is attached. By @linkdotnet.

Fixed

  • AngleSharp IElement extension methods do not work with IRenderedFragment.Find. Reported by a2er. Fixed by @linkdotnet.

1.22.19

28 Jul 15:07
8761655
Compare
Choose a tag to compare

Added

  • Update bunit templates to support the target framework version of the project. By @linkdotnet.

Fixed

  • Calling MarkupMatches(RenderFragment) from a lambda passed to e.g. WaitForAssertion could lead to a deadlock in certain circumstances. Fixed by @linkdotnet. Reported by @uecasm in #1143.

  • Rendering complex component hierarchies could result in a stack overflow. Fixed by @egil.. Reported by @groogiam in #1064.

  • Remove capturing and dispatching markup updates to test frameworks synchronization context again. This could cause deadlocks and does not have any impact on test stability. Fixed by @egil. Reported by @biohazard999 in #1144.

1.21.9

02 Jul 16:07
cb0a4cb
Compare
Choose a tag to compare

Fixed

  • Allow using 3rd party IComponentActivator at the same time as component factories. By @egil. Reported by BenSchoen in #1129.

  • Calling IRenderedComponent.Render() or IRenderedComponent.SetParametersAndRender() did not batch up multiple synchronous re-renders after setting parameters. This is now changed such that the method causes the component to re-render with new parameters in the same way as if a parent component had passed new parameters to it. By @egil. Reported by @Jcparkyn in #1119.

1.20.8

21 May 10:54
7a69073
Compare
Choose a tag to compare

Added

  • Added static DefaultWaitTimeout property to TestContext to enable overriding the default timeout of "wait for" methods like WaitForAssertion from 1 second to something else. By @egil.

Fixed

  • TestRenderer throws ObjectDisposedException if any methods is accessed after it has been disposed. It will also prevent changes to the internal render tree after it has been disposed. By @egil.

1.19.14

26 Apr 17:49
dd0cee4
Compare
Choose a tag to compare

Fixed

  • Custom elements with attributes throw ArgumentException with MarkupMatches. Reported by @candritzky. Fixed by @linkdotnet.

Changed

  • Changed test renderer such that updates to rendered components markup happen in the same synchronization context as the test framework is using (if any), if any, to avoid memory race conditions. By @egil.