StringTests.cs 920 B

1234567891011121314151617181920212223242526272829
  1. using Lua.Standard;
  2. using System.Globalization;
  3. namespace Lua.Tests;
  4. public class StringTests
  5. {
  6. [TestCase("\r")]
  7. [TestCase("\n")]
  8. [TestCase("\r\n")]
  9. public async Task Test_ShortString_RealNewLine(string newLine)
  10. {
  11. var result = await LuaState.Create().DoStringAsync($"return \"\\{newLine}\"");
  12. Assert.That(result, Has.Length.EqualTo(1));
  13. Assert.That(result[0], Is.EqualTo(new LuaValue("\n")));
  14. }
  15. [TestCase("fr-FR")]
  16. public async Task Test_StringFormat_Culture(string newLine)
  17. {
  18. var state = LuaState.Create();
  19. state.OpenBasicLibrary();
  20. state.OpenStringLibrary();
  21. var culture = CultureInfo.CurrentCulture;
  22. CultureInfo.CurrentCulture = CultureInfo.GetCultureInfo(newLine);
  23. await state.DoStringAsync($"""assert(tonumber(string.format("%f", 10.3)) == 10.3)""");
  24. CultureInfo.CurrentCulture = culture;
  25. }
  26. }