Пример #1
0
        public void Parse_OnlyText_SingleTextFragmentReturned()
        {
            var fragment = Parse(@"txt");

            var expected = new EsiTextFragment("txt");

            fragment.ShouldDeepEqual(expected);
        }
Пример #2
0
        public void Parse_TextTagWithIncludeInside_TextFragmentWithIncludeAsTextReturned()
        {
            var fragment = Parse(@"<esi:text><esi:include src=""http://host/fragment""/></esi:text>");

            var expected = new EsiTextFragment(@"<esi:include src=""http://host/fragment""/>");

            fragment.ShouldDeepEqual(expected);
        }
Пример #3
0
        public async Task Should_run_pipeline_when_executing()
        {
            var textExecutor = new EsiTextFragmentExecutor();
            var executors    = new Dictionary <Type, Func <IEsiFragment, EsiExecutionContext, Task <IEnumerable <string> > > >
            {
                [typeof(EsiTextFragment)] = (f, ec) => textExecutor.Execute((EsiTextFragment)f, ec)
            };

            var resolver = new PipelineContainer();

            resolver.Add(new FakeTextPipeline());

            var fragmentExecutor = new EsiFragmentExecutor(executors, resolver.GetInstance);

            var fragment = new EsiTextFragment("body");
            var result   = await fragmentExecutor.Execute(fragment, EmptyExecutionContext());

            result.Should().Have.SameSequenceAs("pre", "<body>", "post");
        }