Changeset 235

Show
Ignore:
Timestamp:
02/26/08 15:56:01 (8 months ago)
Author:
stu
Message:

detail report uses tables for data

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • rubygems/tarantula/trunk/lib/relevance/tarantula/detail.html.erb

    r202 r235  
    66        <meta http-equiv="Content-type" content="text/html; charset=utf-8"/> 
    77  <title>Tarantula report detail <%= short_description %></title> 
    8          
     8        <script type="text/javascript" src="javascripts/jquery-1.2.3.js"></script> 
     9        <script type="text/javascript" src="javascripts/jquery.tablesorter.js"></script> 
     10        <script type="text/javascript" src="javascripts/tarantula.js"></script> 
    911        <link type="text/css" media="screen" rel="stylesheet" href="relevance_os.css"/> 
    1012</head> 
     
    1820    <p>Referrer: <%= referrer || "" %></p> 
    1921    <% if data %> 
    20       <h3>Data</h3> 
    21       <pre><%= ERB::Util.h data %></pre
     22      <h3>Data</h3>  
     23      <%= Relevance::Tarantula::HtmlReporter.wrap_in_line_number_table(data) %
    2224    <% end %> 
    2325    <% if body %> 
    2426      <h3>Body</h3> 
    25       <pre><%= ERB::Util.h body %></pre
     27      <%= Relevance::Tarantula::HtmlReporter.wrap_in_line_number_table(body) %
    2628    <% end %> 
    2729    <% if log %> 
    28       <h3>Log</h3> 
    29       <pre><%= ERB::Util.h log %></pre
     30      <h3>Log</h3>     
     31      <%= Relevance::Tarantula::HtmlReporter.wrap_in_line_number_table(log) %
    3032    <% end %> 
    3133  </div> 
  • rubygems/tarantula/trunk/lib/relevance/tarantula/html_reporter.rb

    r200 r235  
    44  def self.report(basedir, results) 
    55    self.new(basedir, results) 
     6  end 
     7 
     8  def self.wrap_in_line_number_table(text) 
     9    x = Builder::XmlMarkup.new 
     10    x.table(:class => "tablesorter") do       
     11      x.thead do 
     12        x.tr do 
     13          x.th("Line \#") 
     14          x.th("Line") 
     15        end 
     16      end 
     17      text.split("\n").each_with_index do |line, index| 
     18        x.tr do 
     19          x.td(index+1) 
     20          x.td(line) 
     21        end 
     22      end    
     23    end 
     24    x.target! 
    625  end 
    726 
     
    2241      file.write body 
    2342    end 
    24   end 
     43  end       
    2544   
    2645  def copy_styles 
  • rubygems/tarantula/trunk/lib/relevance/tarantula/index.html.erb

    r200 r235  
    1919    <% %w{failures successes}.each do |result_type| %> 
    2020      <table class="tablesorter"> 
    21         <caption><%= result_type.capitalize %></caption> 
     21        <caption><%= result_type.capitalize %> (<%= send(result_type).size %>)</caption> 
    2222        <thead> 
    2323          <tr> 
     
    3030        </thead> 
    3131        <tbody> 
    32           <% send(result_type).sort_by(&:url).each do |result| %> 
     32          <% send(result_type).sort{|x,y| y.code.to_s <=> x.code.to_s}.each do |result| %> 
    3333          <tr> 
    3434            <td><%= result.method %></td> 
  • rubygems/tarantula/trunk/test/relevance/tarantula/html_reporter_test.rb

    r202 r235  
    5252  end 
    5353 
    54   it "html escapes the data and body sections" do 
    55     @results = stub_everything(:successes => [], :failures => [@result]) 
    56     ERB::Util.expects(:h).with("stub_data") 
    57     ERB::Util.expects(:h).with("stub_body") 
    58     Relevance::Tarantula::HtmlReporter.report(test_output_dir, @results) 
     54  it "can wrap text in a line number table" do 
     55    html = Relevance::Tarantula::HtmlReporter.wrap_in_line_number_table("Line 1\nLine 2") 
     56    html.should == "<table class=\"tablesorter\"><thead><tr><th>Line \#</th><th>Line</th></tr></thead><tr><td>1</td><td>Line 1</td></tr><tr><td>2</td><td>Line 2</td></tr></table>" 
    5957  end 
    6058end