From ad2f02a6600fa276ce94a4e4a2f8cb513597fa25 Mon Sep 17 00:00:00 2001 From: Zachary Scott Date: Fri, 22 Mar 2013 22:04:06 -0400 Subject: [PATCH] refactor specs, add specs for pipe and toc --- spec/glorify/helper_with_pipe.erb | 1 + spec/glorify/helper_with_toc.erb | 1 + spec/glorify/with_helper.erb | 2 +- spec/glorify_spec.rb | 55 ++++++++++++++++++++++++++++--- spec/spec_helper.rb | 5 ++- 5 files changed, 57 insertions(+), 7 deletions(-) create mode 100644 spec/glorify/helper_with_pipe.erb create mode 100644 spec/glorify/helper_with_toc.erb diff --git a/spec/glorify/helper_with_pipe.erb b/spec/glorify/helper_with_pipe.erb new file mode 100644 index 0000000..06c5a53 --- /dev/null +++ b/spec/glorify/helper_with_pipe.erb @@ -0,0 +1 @@ +<%= glorify(@some_code, :pipe => true) %> diff --git a/spec/glorify/helper_with_toc.erb b/spec/glorify/helper_with_toc.erb new file mode 100644 index 0000000..5c3e209 --- /dev/null +++ b/spec/glorify/helper_with_toc.erb @@ -0,0 +1 @@ +<%= glorify(@some_code, :toc => true) %> diff --git a/spec/glorify/with_helper.erb b/spec/glorify/with_helper.erb index c0db948..06c5a53 100644 --- a/spec/glorify/with_helper.erb +++ b/spec/glorify/with_helper.erb @@ -1 +1 @@ -<%= glorify(@some_code) %> +<%= glorify(@some_code, :pipe => true) %> diff --git a/spec/glorify_spec.rb b/spec/glorify_spec.rb index 090ae31..25a7fe2 100644 --- a/spec/glorify_spec.rb +++ b/spec/glorify_spec.rb @@ -4,10 +4,9 @@ it "should parse a header" do mock_app do - Tilt.prefer Sinatra::Glorify::Template get('/') { markdown :header } end - expected = "

a sip of glory

" + expected = '

a sip of glory

' get('/') assert ok? assert_equal expected, body @@ -15,10 +14,9 @@ it "should parse code blocks" do mock_app do - Tilt.prefer Sinatra::Glorify::Template get('/') { markdown :blocks } end - expected = "
"Hello, world!"
" + expected = '
"Hello, world!"
' get('/') assert ok? assert_equal expected, body @@ -27,7 +25,6 @@ it "should parse ruby blocks" do mock_app do get('/') do - Tilt.prefer Sinatra::Glorify::Template markdown :ruby_blocks end end @@ -51,6 +48,36 @@ refute_empty Nokogiri::HTML(body).search("pre.highlight") end + it "should use helper with pipe" do + mock_app do + get('/') do + @some_code = File.open( + File.expand_path('../glorify/header.md', __FILE__), + "rb" + ).read + erb :helper_with_pipe + end + end + get('/') + assert ok? + assert_equal '

a sip of glory

', body + end + + it "should use helper with toc" do + mock_app do + get('/') do + @some_code = File.open( + File.expand_path('../glorify/header.md', __FILE__), + "rb" + ).read + erb :helper_with_toc + end + end + get('/') + assert ok? + assert_equal "
  • a sip of glory
  • ", body + end + it "should include a valid css helper for pygments" do mock_app get('/pygments.css') @@ -59,4 +86,22 @@ assert_match /text\/css/, content_type assert_empty validate_css(body).errors end + + it "should render template with pipe" do + mock_app do + get('/') { markdown :header, :pipe => true } + end + get('/') + assert ok? + assert_equal '

    a sip of glory

    ', body + end + + it "should render template with toc" do + mock_app do + get('/') { markdown :header, :toc => true } + end + get('/') + assert ok? + assert_equal "
  • a sip of glory
  • ", body + end end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 4197330..40b5e91 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -19,7 +19,10 @@ class MiniTest::Spec include W3CValidators def mock_app(base=Sinatra::Base, &block) - @app = Sinatra.new(base, &block) + @app = Sinatra.new(base) do + Tilt.prefer Sinatra::Glorify::Template + class_eval &block if block_given? + end end def app