void Settings() { const String input = @"[xxx]{:setting}"; var result = new ForkdownBuild().AddWorker <LinesToParagraphsWorker>().Run(input); result.FirstSub <Link>().Settings.IsTrue("setting").Should().BeTrue(); }
void ItemId() { const String input = @"+ Whatever something"; var result = new ForkdownBuild().AddWorker <ItemWorker>().AddWorker <ImplicitIdWorker>().Run(input); result.FirstSub <Item>().GlobalId.Should().Be($"Whatever{ImplicitIdWorker.W}something"); }
void CheckItem(Boolean isCheckItem) { var input = isCheckItem ? "+ CheckItem" : "- Normal"; var result = new ForkdownBuild().AddWorker <ItemWorker>().Run(input); result.FirstSub <Item>().IsCheckitem.Should().Be(isCheckItem); }
void InlineContainer() { const String input = @"::Content::"; var result = new ForkdownBuild().Run(input); result.FirstSub <ExplicitInlineContainer>().TitleText.Should().Be("Content"); }
void ItemCreated() { const String input = @"# Heading"; var result = new ForkdownBuild().AddWorker <HeadingItemWorker>().Run(input); result.Subs.First().Should().BeOfType <Item>(); result.FirstSub <Item>().Title.Should().BeOfType <Heading>(); }
void ItemWithHeading() { const String input = @"+ # Heading"; var result = new ForkdownBuild().AddWorker <HeadingItemWorker>().Run(input); result.Subs[0].Subs[0].Should().BeOfType <ListItem>(); result.FirstSub <ListItem>().Subs[0].Should().BeOfType <Heading>(); }
void InSection() { const String input = @"::: + Test :::"; var result = new ForkdownBuild().AddWorker <ItemWorker>().Run(input); result.FirstSub <Item>().IsCheckitem.Should().BeTrue(); }
void SimpleCase() { const String input = "a\nb"; var result = new ForkdownBuild().AddWorker <LinesToParagraphsWorker>().Run(input); result.Subs.Should().HaveCount(2); result.Subs[0].As <Paragraph>().TitleText.Should().Be("a"); result.Subs[1].As <Paragraph>().TitleText.Should().Be("b"); }
void SimpleCase() { const String input = ":{#id .class property :setting}"; var result = new ForkdownBuild().AddWorker <DocumentAttributesWorker>().Run(input); var doc = result.As <Document>(); doc.ExplicitId.Should().Be("id"); doc.Attributes.Classes.Should().Contain("class"); doc.Attributes.Properties.Should().ContainKey("property"); doc.Settings.IsTrue("setting").Should().BeTrue(); }
void LinesBecomeParagraphs() { const String input = @"First line. Second line."; var result = new ForkdownBuild().AddWorker <LinesToParagraphsWorker>().Run(input); var paras = result.Subs; paras.Should().AllBeOfType <Paragraph>().And.HaveCount(2); paras[0].FirstSub <Text>().Content.Should().Be("First line."); paras[1].FirstSub <Text>().Content.Should().Be("Second line."); }
void FullCheckItem() { const String input = @"+ Heading Content"; var result = new ForkdownBuild() .AddWorker <ItemWorker>() .Run(input) .FirstSub <Item>(); result.Title.As <Paragraph>().TitleText.Should().Be("Heading"); result.Content.First().As <Paragraph>().TitleText.Should().Be("Content"); }
void InnerItems() { const String input = @"# Top ## Mid ### Bot"; var result = new ForkdownBuild().AddWorker <HeadingItemWorker>().Run(input); result.FirstSub <Item>() .FirstSub <Item>() .FirstSub <Item>() .IsHeading.Should().BeTrue(); }
void ExternalLinksWithIndex() { const String input = @"[Link]"; var config = new MainConfig { ExternalLinks = new ExternalLinkConfig { DefaultUrl = "test://" } }; var result = new ForkdownBuild().WithConfig(config) .AddWorker <LinkWorker>() .Run(input); result.FirstSub <Link>().Target.Should().Be("test://Link"); }
public Project(ILogger <Project> logger, BuildArguments args, ForkdownBuild build) { _logger = logger; _args = args; _build = build; }