require 'test_helper' class FlannelTest < Test::Unit::TestCase should "wrap functionality up in a neat package" do markup = ":header_two foo: Foo\n\n:list list: Bar" assert_equal "

Foo

\n\n", Flannel.quilt(markup) end should "return nil if text is nil" do assert_nil Flannel.quilt(nil) end should "parse paragraphs correctly" do input = ":paragraph p_one:\nThis is paragraph one.\n\n:paragraph p_two:\nThis is paragraph two.\n\n:paragraph p_three:\nThis is paragraph three. Watchout for the end of file.\n" output = "

This is paragraph one.

\n\n

This is paragraph two.

\n\n

This is paragraph three. Watchout for the end of file.

" assert_equal output, Flannel.quilt(input) end context "basic behavior" do should "parse a block without an id" do markup = ":paragraph:\n this is my paragraph" assert_equal "

this is my paragraph

", Flannel.quilt(markup) end should "strip and convert underscores to pre tags" do markup = ":preformatted foo:\nfoo\n\n bar\n" assert_equal "
foo\n\n   bar\n
", Flannel.quilt(markup) end should "escape preformatted text" do markup = ":preformatted math:\n4 - 2 > 2 - 2\n" assert_equal "
4 - 2 > 2 - 2\n
", Flannel.quilt(markup) end end context "When block starts with header, it" do should "convert one to a header one" do markup = ":header_one h:\n Some header" result = "

Some header

" assert_equal result, Flannel.quilt(markup) end should "convert two equals to a header two" do markup = ":header_two h:\n Some header" result = "

Some header

" assert_equal result, Flannel.quilt(markup) end end context "When block is a list, it" do should "be wrapped in ul tags" do markup = ":list list:\n Yadda\nYadda\nYadda" result = "" assert_equal result, Flannel.quilt(markup) end end context "bug fixes" do should "parse a simple paragraph" do markup = ":paragraph:\nbar bar\n" result = "

bar bar

" assert_equal result, Flannel.quilt(markup) end end end