Browse Source

add: date time test

akeit0 4 days ago
parent
commit
2598fc2ca1
2 changed files with 25 additions and 0 deletions
  1. 24 0
      tests/Lua.Tests/DateTimeTests.cs
  2. 1 0
      tests/Lua.Tests/Lua.Tests.csproj

+ 24 - 0
tests/Lua.Tests/DateTimeTests.cs

@@ -0,0 +1,24 @@
+using Lua.Platforms;
+using Lua.Standard;
+using Microsoft.Extensions.Time.Testing;
+
+namespace Lua.Tests;
+
+public class DateTimeTests
+{
+    [Test]
+    public async Task Test_LocalFunction_Nil_1()
+    {
+        var source = """
+                     return os.date("%d-%m-%Y %H:%M:%S");
+                     """;
+        var timeProvider = new FakeTimeProvider();
+        timeProvider.SetUtcNow( new  DateTime( 2000, 1, 2, 3, 4, 5, DateTimeKind.Utc ) );
+        var state = LuaState.Create(LuaPlatform.Default with { TimeProvider = timeProvider });
+        state.OpenOperatingSystemLibrary();
+        var result = await state.DoStringAsync(source);
+
+        Assert.That(result, Has.Length.EqualTo(1));
+        Assert.That(result[0], Is.EqualTo(new LuaValue("02-01-2000 03:04:05")));
+    } 
+}

+ 1 - 0
tests/Lua.Tests/Lua.Tests.csproj

@@ -10,6 +10,7 @@
     </PropertyGroup>
 
     <ItemGroup>
+        <PackageReference Include="Microsoft.Extensions.TimeProvider.Testing" Version="10.1.0" />
         <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.6.0"/>
         <PackageReference Include="NUnit" Version="3.13.3"/>
         <PackageReference Include="NUnit3TestAdapter" Version="4.2.1"/>