Browse Source

Add: test of string.format with noninvariant culture

Akeit0 8 months ago
parent
commit
365f352d03
1 changed files with 14 additions and 0 deletions
  1. 14 0
      tests/Lua.Tests/StringTests.cs

+ 14 - 0
tests/Lua.Tests/StringTests.cs

@@ -1,5 +1,7 @@
 using Lua.CodeAnalysis.Syntax;
 using Lua.CodeAnalysis.Syntax;
 using Lua.CodeAnalysis.Syntax.Nodes;
 using Lua.CodeAnalysis.Syntax.Nodes;
+using Lua.Standard;
+using System.Globalization;
 
 
 namespace Lua.Tests;
 namespace Lua.Tests;
 
 
@@ -14,4 +16,16 @@ public class StringTests
         Assert.That(result, Has.Length.EqualTo(1));
         Assert.That(result, Has.Length.EqualTo(1));
         Assert.That(result[0], Is.EqualTo(new LuaValue("\n")));
         Assert.That(result[0], Is.EqualTo(new LuaValue("\n")));
     }
     }
+
+    [TestCase("fr-FR")]
+    public async Task Test_StringFormat_Culture(string newLine)
+    {
+        var state = LuaState.Create();
+        state.OpenBasicLibrary();
+        state.OpenStringLibrary();
+        var culture = CultureInfo.CurrentCulture;
+        CultureInfo.CurrentCulture = CultureInfo.GetCultureInfo(newLine);
+        await state.DoStringAsync($"""assert(tonumber(string.format("%f", 10.3)) == 10.3)""");
+        CultureInfo.CurrentCulture = culture;
+    }
 }
 }