$:.unshift(File.dirname(__FILE__)) require 'spec_helper' require 'time' describe "twitter_js plugin" do def setup_twitter_js_plugin(mode, user_id) fake_plugin(:twitter_js) { |plugin| plugin.mode = mode plugin.conf['twitter.user'] = user_id plugin.date = Time.parse("20080124") } end describe "should render javascript and div tag in day" do before do @plugin = setup_twitter_js_plugin("day", "123456789") end it "for header" do snippet = @plugin.header_proc snippet.should == expected_html_header_snippet("123456789") end it "for body leave" do snippet = @plugin.body_leave_proc(Time.parse("20080124")) snippet.should == expected_html_body_snippet end end describe "should render javascript and div tag in latest" do before do @plugin = setup_twitter_js_plugin("latest", "123456789") end it "for header" do snippet = @plugin.header_proc snippet.should == expected_html_header_snippet("123456789") end it "for body leave" do snippet = @plugin.body_leave_proc(Time.parse("20080124")) snippet.should == expected_html_body_snippet end end describe "should not render in edit" do before do @plugin = setup_twitter_js_plugin("edit", "123456789") end it "for header" do snippet = @plugin.header_proc snippet.should be_empty end it "for body leave" do snippet = @plugin.body_leave_proc(Time.parse("20080124")) snippet.should be_empty end end describe "should not render when user_id is empty" do before do @plugin = setup_twitter_js_plugin("edit", "") end it "for header" do snippet = @plugin.header_proc snippet.should be_empty end it "for body leave" do snippet = @plugin.body_leave_proc(Time.parse("20080124")) snippet.should be_empty end end def expected_html_header_snippet(user_id) expected = <<-EXPECTED EXPECTED expected.gsub(/^\t/, '').chomp end def expected_html_body_snippet expected = <<-HTML
HTML expected.gsub( /^\t/, '' ).chomp end end