diff --git a/src/Spectre.Console/Style.cs b/src/Spectre.Console/Style.cs index ec652226a..398d0d6cb 100644 --- a/src/Spectre.Console/Style.cs +++ b/src/Spectre.Console/Style.cs @@ -226,6 +226,11 @@ public string ToMarkup() builder.Add("on " + Background.ToMarkup()); } + if (Link != null) + { + builder.Add($"link={Link}"); + } + return string.Join(" ", builder); } diff --git a/src/Tests/Spectre.Console.Tests/Unit/StyleTests.cs b/src/Tests/Spectre.Console.Tests/Unit/StyleTests.cs index 379ab3e91..4d6d999a5 100644 --- a/src/Tests/Spectre.Console.Tests/Unit/StyleTests.cs +++ b/src/Tests/Spectre.Console.Tests/Unit/StyleTests.cs @@ -405,5 +405,31 @@ public void Should_Return_Expected_Markup_For_Style_With_Only_Background_Color() // Then result.ShouldBe("default on green"); } + + [Fact] + public void Should_Return_Expected_Markup_For_Style_With_Only_Link() + { + // Given + var style = new Style(link:"https://spectreconsole.net/"); + + // When + var result = style.ToMarkup(); + + // Then + result.ShouldBe("link=https://spectreconsole.net/"); + } + + [Fact] + public void Should_Return_Expected_Markup_For_Style_With_Background_And_Link() + { + // Given + var style = new Style(background: Color.Blue, link: "https://spectreconsole.net/"); + + // When + var result = style.ToMarkup(); + + // Then + result.ShouldBe("default on blue link=https://spectreconsole.net/"); + } } }