unoplatform/Uno.Core

StringExtensions.Format doesnt properly unescape nested formatting

XiaotianNetlift opened this issue · 0 comments

I'm submitting a...

  • Bug report

Current behavior

The Uno.Extensions.StringExtensions.Format method doesn't properly unescape {{ o }} from nested formatting.

Expected behavior

Minimal reproduction of the problem with instructions

string.Format(CultureInfo.CurrentCulture, "{{0:0.00 {0};0.00 {0};FREE}}", "$").Dump();
Uno.Extensions.StringExtensions.Format(CultureInfo.CurrentCulture, "{{0:0.00 {0};0.00 {0};FREE}}", "$").Dump();
string.Format(CultureInfo.CurrentCulture, "{{0:0.00 {0}}}", "$").Dump();
Uno.Extensions.StringExtensions.Format(CultureInfo.CurrentCulture, "{{0:0.00 {0}}}", "$").Dump();

output:

{0:0.00 $;0.00 $;FREE}
{{0:0.00 $;0.00 $;FREE}}
{0:0.00 $}
{{0:0.00 $}

Environment

Nuget Package: Uno.Core
Package Version(s): 2.0.0