@@ -402,6 +402,69 @@ public void RenderComponentAsync_ValueAttributeOfTextareaElementOverridesTextCon
402
402
AssertHtmlContentEquals ( expectedHtml , result ) ;
403
403
}
404
404
405
+ [ Fact ]
406
+ public void RenderComponentAsync_RendersSelfClosingElement ( )
407
+ {
408
+ // Arrange
409
+ var expectedHtml = "<input value=\" Hello <html>-encoded content!\" id=\" Test\" />" ;
410
+ var serviceProvider = new ServiceCollection ( ) . AddSingleton ( new RenderFragment ( rtb =>
411
+ {
412
+ rtb . OpenElement ( 0 , "input" ) ;
413
+ rtb . AddAttribute ( 1 , "value" , "Hello <html>-encoded content!" ) ;
414
+ rtb . AddAttribute ( 2 , "id" , "Test" ) ;
415
+ rtb . CloseElement ( ) ;
416
+ } ) ) . BuildServiceProvider ( ) ;
417
+ var htmlRenderer = GetHtmlRenderer ( serviceProvider ) ;
418
+
419
+ // Act
420
+ var result = GetResult ( htmlRenderer . Dispatcher . InvokeAsync ( ( ) => htmlRenderer . RenderComponentAsync < TestComponent > ( ParameterView . Empty ) ) ) ;
421
+
422
+ // Assert
423
+ AssertHtmlContentEquals ( expectedHtml , result ) ;
424
+ }
425
+
426
+ [ Fact ]
427
+ public void RenderComponentAsync_RendersSelfClosingElementWithTextComponentAsNormalElement ( )
428
+ {
429
+ // Arrange
430
+ var expectedHtml = "<meta>Something</meta>" ;
431
+ var serviceProvider = new ServiceCollection ( ) . AddSingleton ( new RenderFragment ( rtb =>
432
+ {
433
+ rtb . OpenElement ( 0 , "meta" ) ;
434
+ rtb . AddContent ( 1 , "Something" ) ;
435
+ rtb . CloseElement ( ) ;
436
+ } ) ) . BuildServiceProvider ( ) ;
437
+ var htmlRenderer = GetHtmlRenderer ( serviceProvider ) ;
438
+
439
+ // Act
440
+ var result = GetResult ( htmlRenderer . Dispatcher . InvokeAsync ( ( ) => htmlRenderer . RenderComponentAsync < TestComponent > ( ParameterView . Empty ) ) ) ;
441
+
442
+ // Assert
443
+ AssertHtmlContentEquals ( expectedHtml , result ) ;
444
+ }
445
+
446
+ [ Fact ]
447
+ public void RenderComponentAsync_RendersSelfClosingElementBySkippingElementReferenceCapture ( )
448
+ {
449
+ // Arrange
450
+ var expectedHtml = "<input value=\" Hello <html>-encoded content!\" id=\" Test\" />" ;
451
+ var serviceProvider = new ServiceCollection ( ) . AddSingleton ( new RenderFragment ( rtb =>
452
+ {
453
+ rtb . OpenElement ( 0 , "input" ) ;
454
+ rtb . AddAttribute ( 1 , "value" , "Hello <html>-encoded content!" ) ;
455
+ rtb . AddAttribute ( 2 , "id" , "Test" ) ;
456
+ rtb . AddElementReferenceCapture ( 3 , inputReference => _ = inputReference ) ;
457
+ rtb . CloseElement ( ) ;
458
+ } ) ) . BuildServiceProvider ( ) ;
459
+ var htmlRenderer = GetHtmlRenderer ( serviceProvider ) ;
460
+
461
+ // Act
462
+ var result = GetResult ( htmlRenderer . Dispatcher . InvokeAsync ( ( ) => htmlRenderer . RenderComponentAsync < TestComponent > ( ParameterView . Empty ) ) ) ;
463
+
464
+ // Assert
465
+ AssertHtmlContentEquals ( expectedHtml , result ) ;
466
+ }
467
+
405
468
[ Fact ]
406
469
public void RenderComponentAsync_MarksSelectedOptionsAsSelected_WithOptGroups ( )
407
470
{
0 commit comments