public void DefaultReturnsDefaultIfNotDefined() { var input = EmptyValue.Instance; var arguments = new FilterArguments().Add(new StringValue("bar")); var context = new TemplateContext(); var result = MiscFilters.Default(input, arguments, context); Assert.Equal("bar", result.ToStringValue()); }
public async Task DefaultReturnsValueIfDefined() { var input = new StringValue("foo"); var arguments = new FilterArguments().Add(new StringValue("bar")); var context = new TemplateContext(); var result = await MiscFilters.Default(input, arguments, context); Assert.Equal("foo", result.ToStringValue()); }
public async Task DefaultReturnsDefaultIfNotDefinedOrEmptyOrFalse(object expected, object input, object @default, bool allowFalse) { var arguments = new FilterArguments() .Add("default", FluidValue.Create(@default, TemplateOptions.Default)) .Add("allow_false", FluidValue.Create(allowFalse, TemplateOptions.Default)); var context = new TemplateContext(); var result = await MiscFilters.Default("empty" == input as string?EmptyValue.Instance : FluidValue.Create(input, TemplateOptions.Default), arguments, context); Assert.Equal(expected, result.ToObjectValue()); }
public async Task DefaultReturnsDefaultIfNotDefinedOrEmptyOrFalse() { foreach (var value in new FluidValue[] { NilValue.Instance, new StringValue(""), BooleanValue.False, ArrayValue.Empty }) { var arguments = new FilterArguments().Add(new StringValue("bar")); var context = new TemplateContext(); var result = await MiscFilters.Default(value, arguments, context); Assert.Equal("bar", result.ToStringValue()); } }