require File.expand_path(File.join(File.dirname(__FILE__), "..", "..", "example_helper.rb")) module HtmlReportHelperSpec # Is there an idiom for this? def self.included(base) base.before do @reporter = Object.new @reporter.extend Relevance::Tarantula::HtmlReportHelper end end end describe 'Relevance::Tarantula::HtmlReportHelper#wrap_in_line_number_table' do include HtmlReportHelperSpec it "can wrap text in a table row used for displaying lines and line numbers" do html = @reporter.wrap_in_line_number_table_row("Line 1\nLine 2") html.should == <<-END.strip 12Line 1Line 2 END end end describe 'Relevance::Tarantula::HtmlReportHelper#wrap_stack_trace_line' do include HtmlReportHelperSpec it "can wrap stack trace line in links" do line = %{/action_controller/filters.rb:697:in `call_filters'} @reporter.stubs(:textmate_url).returns("ide_url") html = @reporter.wrap_stack_trace_line(line) html.should == "/action_controller/filters.rb:697:in `call_filters'" end it "converts html entities for non-stack trace lines" do line = %{escape me} html = @reporter.wrap_stack_trace_line(line) html.should == %{<a href="foo">escape me</a>} end end describe 'Relevance::Tarantula::HtmlReportHelper IDE help' do include HtmlReportHelperSpec it "can create a textmate url" do @reporter.stubs(:rails_root).returns("STUB_RAILS_ROOT") @reporter.textmate_url("/etc/somewhere", 100).should =~ %r{txmt://open\?url=.*/STUB_RAILS_ROOT/etc/somewhere&line_no=100} end end