(Md(
+ "```razor:preview\n\n\n\n
\n\n```"));
+
+ var one = html.IndexOf(">One", StringComparison.Ordinal);
+ var two = html.IndexOf(">Two", StringComparison.Ordinal);
+ var three = html.IndexOf(">Three", StringComparison.Ordinal);
+ Assert.True(one > 0 && two > one && three > two, html);
+ Assert.Contains("data-variant=\"Destructive\"", html);
+ Assert.Contains("data-variant=\"Outline\"", html);
+
+ // The wrapper is a real element enclosing the first two buttons.
+ var wrapStart = html.IndexOf("", StringComparison.Ordinal);
+ var wrapEnd = html.IndexOf("
", two, StringComparison.Ordinal);
+ Assert.True(wrapStart > 0 && wrapStart < one && wrapEnd < three, html);
+ }
+
+ [Fact]
+ public async Task UncoercibleAttributes_DoNotCrash_ComponentStillRenders()
+ {
+ var harness = Harness();
+ var html = await harness.RenderAsync(Md(
+ "```razor:preview\n\n```"));
+
+ Assert.Contains(">Safe", html);
+ Assert.Contains("