Example #1
0
        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());
        }
Example #2
0
        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());
        }
Example #3
0
        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());
        }
Example #4
0
        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());
            }
        }