public void Parse_OnlyText_SingleTextFragmentReturned() { var fragment = Parse(@"txt"); var expected = new EsiTextFragment("txt"); fragment.ShouldDeepEqual(expected); }
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); }
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"); }