Skip to content

Commit

Permalink
fix after rebase on v2
Browse files Browse the repository at this point in the history
  • Loading branch information
linkdotnet committed Jul 9, 2023
1 parent fbd3d17 commit bd6a5f7
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 23 deletions.
24 changes: 11 additions & 13 deletions src/bunit/Extensions/RenderedComponentRenderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -53,23 +53,21 @@ public static void Render<TComponent>(this IRenderedComponent<TComponent> render

private static ParameterView ToParameterView(IReadOnlyCollection<ComponentParameter> parameters)
{
var paramDict = new Dictionary<string, object?>(StringComparer.Ordinal);

foreach (var param in parameters)
if (parameters.Count == 0)
{
var paramDict = new Dictionary<string, object?>(parameters.Count, StringComparer.Ordinal);
return ParameterView.Empty;
}

foreach (var param in parameters)
{
if (param.IsCascadingValue)
throw new InvalidOperationException($"You cannot provide a new cascading value through the {nameof(Render)} method.");
if (param.Name is null)
throw new InvalidOperationException("A parameters name is required.");
var paramDict = new Dictionary<string, object?>(parameters.Count, StringComparer.Ordinal);

paramDict.Add(param.Name, param.Value);
}
foreach (var param in parameters)
{
if (param.IsCascadingValue)
throw new InvalidOperationException($"You cannot provide a new cascading value through the {nameof(Render)} method.");
if (param.Name is null)
throw new InvalidOperationException("A parameter name is required.");

parameterView = ParameterView.FromDictionary(paramDict);
paramDict.Add(param.Name, param.Value);
}

return ParameterView.FromDictionary(paramDict);
Expand Down
20 changes: 10 additions & 10 deletions tests/bunit.tests/Rendering/DeterministicRenderTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ public class DeterministicRenderTests : TestContext
[Fact]
public async Task BlockAsyncRenderWhenEventDispatched()
{
var cut = RenderComponent<AsyncComponent>();
var cut = Render<AsyncComponent>();

cut.Find("button").Click();

Expand All @@ -21,7 +21,7 @@ public async Task BlockAsyncRenderWhenEventDispatched()
[Fact]
public async Task BlockAsyncRenderWhenOnInitializedAsync()
{
var cut = RenderComponent<OnInitializedAsyncComponent>();
var cut = Render<OnInitializedAsyncComponent>();

cut.Find("p").TextContent.ShouldBe("False");

Expand All @@ -34,7 +34,7 @@ public async Task BlockTimerRendering()
{
var provider = new TriggerableTimeProvider();
Services.AddSingleton<TimeProvider>(provider);
var cut = RenderComponent<TimerComponent>();
var cut = Render<TimerComponent>();

provider.TriggerTick();

Expand Down Expand Up @@ -62,7 +62,7 @@ public async Task WaitForDoesNotRenderIfConditionIsInitiallyMet()
{
var provider = new TriggerableTimeProvider();
Services.AddSingleton<TimeProvider>(provider);
var cut = RenderComponent<TimerComponent>();
var cut = Render<TimerComponent>();
provider.TriggerTick();

// The condition is already met
Expand All @@ -76,7 +76,7 @@ public async Task WaitForDoesNotRenderIfConditionIsInitiallyMet()
public async Task CanWaitForMultipleRenderCycles()
{
TaskCompletionSource tcs = new(TaskCreationOptions.RunContinuationsAsynchronously);
var cut = RenderComponent<NoAwaitInitComponent>(
var cut = Render<NoAwaitInitComponent>(
p => p.Add(
s => s.CreateTask, () => tcs.Task));

Expand All @@ -103,7 +103,7 @@ public async Task CanWaitForMultipleRenderCycles()
[Fact]
public void TaskCompletedLeadsToSynchronousRender()
{
var cut = RenderComponent<NoAwaitInitComponent>(
var cut = Render<NoAwaitInitComponent>(
p => p.Add(s => s.CreateTask, () => Task.CompletedTask));

cut.Find("p").TextContent.ShouldBe("4");
Expand All @@ -112,7 +112,7 @@ public void TaskCompletedLeadsToSynchronousRender()
[Fact]
public void CompleteSynchronousCallWithStateHasChangedDoesntBlock()
{
var cut = RenderComponent<SyncOnInitComponent>();
var cut = Render<SyncOnInitComponent>();

cut.Find("p").TextContent.ShouldBe("4");
}
Expand All @@ -121,7 +121,7 @@ public void CompleteSynchronousCallWithStateHasChangedDoesntBlock()
public async Task ContinueWith()
{
var tcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously);
var cut = RenderComponent<NoAwaitInitComponent>(
var cut = Render<NoAwaitInitComponent>(
p => p.Add(
s => s.CreateTask, () => tcs.Task.ContinueWith(_ => { }, TaskScheduler.Default)));

Expand All @@ -134,7 +134,7 @@ public async Task ContinueWith()
[Fact]
public async Task CallingInvokeAsyncWrappedInTaskRun()
{
var cut = RenderComponent<RenderOnDemandComponent>();
var cut = Render<RenderOnDemandComponent>();
var renderTask = Task.Run(() => cut.Instance.Render(10));

await cut.WaitForAssertionAsync(() => cut.Find("p").TextContent.ShouldBe("10"));
Expand All @@ -144,7 +144,7 @@ public async Task CallingInvokeAsyncWrappedInTaskRun()
[Fact]
public async Task ConfigureAwaitComponent()
{
var cut = RenderComponent<AsyncConfigureAwaitComponent>();
var cut = Render<AsyncConfigureAwaitComponent>();
cut.Find("p").TextContent.ShouldBe("0");

cut.Instance.Tcs.SetResult();
Expand Down

0 comments on commit bd6a5f7

Please sign in to comment.