コード例 #1
0
        public async Task CompilationRenderer_SpecialTests_Async(SpecTest data)
        {
            var builder = new CompilerSettingsBuilder();

            var stubble = new StubbleCompilationRenderer(builder.BuildSettings());

            if (data.ExpectedException != null)
            {
                var ex = await Assert.ThrowsAsync(data.ExpectedException.GetType(), CompileAndRender);

                Assert.Equal(data.ExpectedException.Message, ex.Message);
            }
            else
            {
                Assert.Equal(data.Expected, await CompileAndRender());
            }

            async Task <string> CompileAndRender()
            {
                var output = data.Partials != null ?
                             await stubble.CompileAsync(data.Template, data.Data, data.Partials) :
                             await stubble.CompileAsync(data.Template, data.Data);

                return((string)output(data.Data));
            }
        }
コード例 #2
0
ファイル: SpecTests.cs プロジェクト: ps-pcuster/Stubble
        public async Task CompilationRendererSpecTest_Async(SpecTest data)
        {
            OutputStream.WriteLine(data.Name);

            var stubble = new StubbleCompilationRenderer(Settings);
            var output  = await(data.Partials != null ? stubble.CompileAsync(data.Template, data.Data, data.Partials) : stubble.CompileAsync(data.Template, data.Data));

            var outputResult = output(data.Data);

            OutputStream.WriteLine("Expected \"{0}\", Actual \"{1}\"", data.Expected, outputResult);
            Assert.Equal(data.Expected, outputResult);
        }
コード例 #3
0
        public async Task You_Should_Be_Able_To_Compile_Without_An_Example_Object()
        {
            var stubble = new StubbleCompilationRenderer();

            var input = new ExampleClass {
                Foo = "Bar"
            };
            var func      = stubble.Compile <ExampleClass>("{{Foo}}");
            var funcAsync = await stubble.CompileAsync <ExampleClass>("{{Foo}}");

            Assert.Equal("Bar", func(input));
            Assert.Equal("Bar", funcAsync(input));
        }
コード例 #4
0
        public async Task You_Should_Be_Able_To_Compile_With_An_Example_Object_With_Settings()
        {
            var stubble  = new StubbleCompilationRenderer();
            var settings = new CompilationSettings
            {
                ThrowOnDataMiss = true
            };

            var input = new ExampleClass {
                Foo = "Bar"
            };
            var func      = stubble.Compile("{{Foo}}", input, settings);
            var funcAsync = await stubble.CompileAsync("{{Foo}}", input, settings);

            Assert.Equal("Bar", func(input));
            Assert.Equal("Bar", funcAsync(input));
        }
コード例 #5
0
        public async Task You_Should_Be_Able_To_Compile_Without_An_Example_Object_With_Partials()
        {
            var stubble  = new StubbleCompilationRenderer();
            var partials = new Dictionary <string, string>
            {
                { "Partial", "{{Foo}}" }
            };

            var input = new ExampleClass {
                Foo = "Bar"
            };
            var func      = stubble.Compile <ExampleClass>("{{> Partial}}", partials);
            var funcAsync = await stubble.CompileAsync <ExampleClass>("{{> Partial}}", partials);

            Assert.Equal("Bar", func(input));
            Assert.Equal("Bar", funcAsync(input));
        }