public void TestIsEmptyOperator() { WhamEngine.InitEngine(); Assert.AreEqual("EMPTY", Template.Parse("{% if NOCOLLECTION is_empty %}EMPTY{% endif %}").Render()); Assert.AreEqual("EMPTY", Template.Parse("{% if '' is_empty %}EMPTY{% endif %}").Render()); Assert.AreEqual("", Template.Parse("{% if 'aaa' is_empty %}EMPTY{% endif %}").Render()); }
public void TestTrimTag() { WhamEngine.InitEngine(); var t = Template.Parse("{% Trim %} {% endTrim %}").Render(); Assert.IsEmpty(t); t = Template.Parse("{% Trim %} NOT EMPTY {% endTrim %}").Render(); Assert.IsNotEmpty(t); Assert.AreEqual("NOT EMPTY", t); }
public void TestIncludedPropertyTypes() { WhamEngine.InitEngine(); var schemaDrop = Schemas.ShippingAddressDrop; var hash = Hash.FromAnonymousObject(new { schema = schemaDrop }); string res; res = Template.Parse("{% for propType in schema.IncludedProperties %}{{propType.Value | FullClassName : propType.Key}}, {% endfor %}").RenderWithErrors(hash); Assert.IsNotEmpty(res); Assert.AreEqual("string, string, string, string, TypesEnum?, ", res); }
public void TestIncludedProperties() { WhamEngine.InitEngine(); var schemaDrop = Schemas.ShippingAddressDrop; var hash = Hash.FromAnonymousObject(new { schema = schemaDrop }); string res; res = Template.Parse("{% for propName in schema.IncludedPropertyNames %}{{propName}}, {% endfor %}").RenderWithErrors(hash); Assert.IsNotEmpty(res);; Assert.AreEqual("line1, line2, city, country, type, ", res); }
public void TestSchemaProperties() { WhamEngine.InitEngine(); var schemaDrop = Schemas.ShippingAddressDrop; var hash = Hash.FromAnonymousObject(new { schema = schemaDrop }); string res; res = Template.Parse("{{schema.Title}}").Render(hash); Assert.AreEqual(schemaDrop.Title, res); res = Template.Parse("{{schema.BaseClassName}}").RenderWithErrors(hash); Assert.IsNotEmpty(res); Assert.IsFalse(res.Contains("BaseClassName")); Assert.AreEqual(schemaDrop.BaseClassName, res); }
public void TestIsRegisterClassFilter() { WhamEngine.InitEngine(); int wasCalled = 0; ClassNameFilters.RegisterClassCallback = new WeakReference <Action <string, string, object> >((input, name, data) => { wasCalled++; }); var rc1 = Template.Parse("{{ 'OK' | RegisterClass :'X' }}").Render(); Assert.AreEqual("OK", rc1); Assert.AreEqual(1, wasCalled); Assert.AreEqual("OK", Template.Parse("{{ 'OK' | RegisterResource :'X' }}").Render()); Assert.AreEqual(2, wasCalled); }
public void TestGuidTag() { Guid guid; WhamEngine.InitEngine(); var g1 = Template.Parse("{% Guid 'D' %}").Render(); Assert.IsNotEmpty(g1); Assert.IsTrue(Guid.TryParseExact(g1, "D", out guid)); var g2 = Template.Parse("{% Guid %}").Render(); Assert.IsNotEmpty(g2); Assert.AreNotSame(g1, g2); g1 = Template.Parse("{% Guid 'N' %}").Render(); Assert.IsNotEmpty(g1); Assert.IsTrue(Guid.TryParseExact(g1, "N", out guid)); Assert.Throws <WhamException>(() => Template.Parse("{% Guid 'INVALID' %}").Render()); }