require "../spec_helper" include Nodes describe PageContent do it "renders a single parent/child node structure" do page = Page.new(nodes: [ Paragraph.new(children: [ Text.new(content: "hi"), ] of Child) ] of Child) html = PageContent.new(page: page).render_to_string html.should eq %(
hi
) end it "renders multiple childrens" do page = Page.new(nodes: [ Paragraph.new(children: [ Text.new(content: "Hello, "), Emphasis.new(children: [ Text.new(content: "World!") ] of Child) ] of Child), UnorderedList.new(children: [ ListItem.new(children: [ Text.new(content: "List!") ] of Child), ListItem.new(children: [ Text.new(content: "Again!"), ] of Child) ] of Child) ] of Child) html = PageContent.new(page: page).render_to_string html.should eq %(Hello, World!
Wayne Gretzky. Michael Scott.) end it "renders code" do page = Page.new(nodes: [ Code.new(children: [ Text.new("foo = bar") ] of Child) ] of Child) html = PageContent.new(page: page).render_to_string html.should eq %(
foo = bar
)
end
it "renders empasis" do
page = Page.new(nodes: [
Paragraph.new(children: [
Text.new(content: "This is "),
Emphasis.new(children: [
Text.new(content: "neat!")
] of Child),
] of Child),
] of Child)
html = PageContent.new(page: page).render_to_string
html.should eq %(This is neat!
) end it "renders an H3" do page = Page.new(nodes: [ Heading3.new(children: [ Text.new(content: "Title!"), ] of Child), ] of Child) html = PageContent.new(page: page).render_to_string html.should eq %(Hello, world!
) end it "renders an preformatted text" do page = Page.new(nodes: [ Preformatted.new(children: [ Text.new("New\nline"), ] of Child), ] of Child) html = PageContent.new(page: page).render_to_string html.should eq %(New\nline) end it "renders strong text" do page = Page.new(nodes: [ Strong.new(children: [ Text.new("Oh yeah!"), ] of Child), ] of Child) html = PageContent.new(page: page).render_to_string html.should eq %(Oh yeah!) end it "renders an unordered list" do page = Page.new(nodes: [ UnorderedList.new(children: [ ListItem.new(children: [Text.new("Apple")] of Child), ListItem.new(children: [Text.new("Banana")] of Child), ] of Child), ] of Child) html = PageContent.new(page: page).render_to_string html.should eq %(