diff --git a/src/AngleSharp.Css.Tests/Declarations/CssGridProperty.cs b/src/AngleSharp.Css.Tests/Declarations/CssGridProperty.cs index 2dff206c..87b5e323 100644 --- a/src/AngleSharp.Css.Tests/Declarations/CssGridProperty.cs +++ b/src/AngleSharp.Css.Tests/Declarations/CssGridProperty.cs @@ -768,5 +768,13 @@ public void CssRuleWithOnlyGridTemplateAreasLegal_Issue27() var text = rule.CssText; Assert.AreEqual(snippet, text); } + + [Test] + public void CssGridTemplateLonghands_Issue68() + { + var snippet = "grid-template-areas: none; grid-template-columns: none; grid-template-rows: none"; + var style = ParseDeclarations(snippet); + Assert.AreEqual("grid-template: none", style.CssText); + } } } diff --git a/src/AngleSharp.Css/Values/Composites/CssGridTemplateValue.cs b/src/AngleSharp.Css/Values/Composites/CssGridTemplateValue.cs index dbd588e5..7260fe83 100644 --- a/src/AngleSharp.Css/Values/Composites/CssGridTemplateValue.cs +++ b/src/AngleSharp.Css/Values/Composites/CssGridTemplateValue.cs @@ -61,7 +61,11 @@ public String CssText var rows = String.Empty; var cols = _columns?.CssText; - if (_areas != null) + if (_areas is Constant || _columns is Constant || _rows is Constant) + { + return CssKeywords.None; + } + else if (_areas != null) { var areas = ((CssTupleValue)_areas).Items; var rowItems = ((CssTupleValue)_rows).Items; @@ -89,7 +93,7 @@ public String CssText if (!String.IsNullOrEmpty(cols)) { - return String.Concat(rows, " / ",cols); + return String.Concat(rows, " / ", cols); } return rows;