Add CultureInfo.InvariantCulture to floating point number formatting (#1541)
* Add CultureInfo.InvariantCulture to floating point number formatting * Remove unused using statement in KubernetesYamlTests.cs
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
using System.Globalization;
|
||||
using YamlDotNet.Core;
|
||||
using YamlDotNet.Core.Events;
|
||||
using YamlDotNet.Serialization;
|
||||
@@ -18,10 +19,10 @@ namespace k8s
|
||||
{
|
||||
// Floating point numbers should always render at least one zero (e.g. 1.0f => '1.0' not '1')
|
||||
case double d:
|
||||
emitter.Emit(new Scalar(d.ToString("0.0######################")));
|
||||
emitter.Emit(new Scalar(d.ToString("0.0######################", CultureInfo.InvariantCulture)));
|
||||
break;
|
||||
case float f:
|
||||
emitter.Emit(new Scalar(f.ToString("0.0######################")));
|
||||
emitter.Emit(new Scalar(f.ToString("0.0######################", CultureInfo.InvariantCulture)));
|
||||
break;
|
||||
default:
|
||||
base.Emit(eventInfo, emitter);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using k8s.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
@@ -1095,5 +1096,21 @@ spec:
|
||||
Assert.Equal("v1beta2", crd.Spec.Versions[0].Name);
|
||||
Assert.Equal("v1", crd.Spec.Versions[1].Name);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void NoGlobalization()
|
||||
{
|
||||
var old = CultureInfo.CurrentCulture;
|
||||
try
|
||||
{
|
||||
CultureInfo.CurrentCulture = CultureInfo.CreateSpecificCulture("fr-fr");
|
||||
var yaml = KubernetesYaml.Serialize(new Dictionary<string, double>() { ["hello"] = 10.01 });
|
||||
Assert.Equal("hello: 10.01", yaml);
|
||||
}
|
||||
finally
|
||||
{
|
||||
CultureInfo.CurrentCulture = old;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user