Beispiel #1
0
        public LinkHrefParserTests()
        {
            _pageRepository = Substitute.For <IPageRepository>();
            _textSettings   = new TextSettings();
            _urlHelperMock  = Substitute.For <IUrlHelper>();
            _urlHelperMock
            .Content(Arg.Any <string>())
            .Returns <string>(callInfo => callInfo.Arg <string>());

            _linkHrefParser = new LinkHrefParser(_pageRepository, _textSettings, _urlHelperMock);
        }
Beispiel #2
0
        public MarkdigParser Create(IPageRepository pageRepository, TextSettings textSettings, IUrlHelper urlHelper)
        {
            var markdigParser = new MarkdigParser();

            // When a link is parsed, use the LinkHrefParser
            markdigParser.LinkParsed = htmlLinkTag =>
            {
                var tokenParser = new LinkHrefParser(pageRepository, textSettings, urlHelper);
                htmlLinkTag = tokenParser.Parse(htmlLinkTag);

                return(htmlLinkTag);
            };

            // When an image is parsed, use the ImageSrcParser
            markdigParser.ImageParsed = htmlImageTag =>
            {
                var provider = new ImageSrcParser(textSettings, urlHelper);
                htmlImageTag = provider.Parse(htmlImageTag);

                return(htmlImageTag);
            };

            return(markdigParser);
        }