-
Notifications
You must be signed in to change notification settings - Fork 86
/
Copy pathJavascriptConversionTest.cs
32 lines (24 loc) · 1.13 KB
/
JavascriptConversionTest.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using Signum.API.Json;
namespace Signum.Test;
public class JavascriptConversionTest
{
public JavascriptConversionTest()
{
MusicStarter.StartAndLoad();
}
[Fact]
public void TestToStringsToJavascript()
{
var result = LambdaToJavascriptConverter.ToJavascript((NoteWithDateEntity a) => $"Hi {(a.Title.HasText() ? ":" + a.Title : null)}", assert: false);
Assert.Equal("return \"Hi {0}\".formatWith((((e.text??\"\").length>0) ? (\":\" + fd.valToString(e.text)) : \"\"))", result);
result = LambdaToJavascriptConverter.ToJavascript((NoteWithDateEntity a) => new FooModel { Name = null }, assert: false);
Assert.Equal("return fd.New(\"FooModel\", {\nname: null,\n})", result);
result = LambdaToJavascriptConverter.ToJavascript((NoteWithDateEntity a) => $"{a.CreationDate}", assert: false);
Assert.Equal("return \"{0}\".formatWith(fd.dateToString(e.creationDate, 'DateOnly'))", result);
}
public class FooModel : ModelEntity
{
[StringLengthValidator(Min = 3, Max = 100)]
public string? Name { get; set; }
}
}