Skip to content

Commit 1f3d718

Browse files
committed
Fixed keyframe stop truncation #128
1 parent 6905fa5 commit 1f3d718

File tree

3 files changed

+13
-2
lines changed

3 files changed

+13
-2
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ Released on tbd.
66
- Fixed issue when updating shorthands with invalid values (#129)
77
- Fixed issue with appended EOF character in `CssText` (#123)
88
- Fixed missing semicolon in `@page` rule (#135)
9+
- Fixed integer serialization of keyframe stops (#128)
910

1011
# 0.17.0
1112

src/AngleSharp.Css.Tests/Rules/CssKeyframeRule.cs

+11-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace AngleSharp.Css.Tests.Rules
1+
namespace AngleSharp.Css.Tests.Rules
22
{
33
using NUnit.Framework;
44
using System.Linq;
@@ -74,5 +74,15 @@ public void KeyframeRuleWith0AndNoDeclarations()
7474
Assert.AreEqual(1, rule.Key.Stops.Count());
7575
Assert.AreEqual(0, rule.Style.Length);
7676
}
77+
78+
[Test]
79+
public void KeyframeRuleWithPercentage_Issue128()
80+
{
81+
var rule = ParseKeyframeRule(@" 0.52%, 50.0%,92.82% { }");
82+
Assert.IsNotNull(rule);
83+
Assert.AreEqual("0.52%, 50%, 92.82%", rule.KeyText);
84+
Assert.AreEqual(3, rule.Key.Stops.Count());
85+
Assert.AreEqual(0, rule.Style.Length);
86+
}
7787
}
7888
}

src/AngleSharp.Css/Dom/Internal/KeyframeSelector.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public void ToCss(TextWriter writer, IStyleFormatter formatter)
5656

5757
private static void Write(TextWriter writer, Double value)
5858
{
59-
var pc = Math.Truncate(100.0 * value);
59+
var pc = 100.0 * value;
6060
var str = pc.ToString(CultureInfo.InvariantCulture);
6161
writer.Write(str);
6262
writer.Write(Symbols.Percent);

0 commit comments

Comments
 (0)