From: <zn...@us...> - 2009-05-12 09:54:24
|
Revision: 879 http://crackerjack.svn.sourceforge.net/crackerjack/?rev=879&view=rev Author: znz Date: 2009-05-12 09:54:11 +0000 (Tue, 12 May 2009) Log Message: ----------- colorize diff (output of default-compare) Modified Paths: -------------- trunk/viewsite/app/helpers/compare_logs_helper.rb trunk/viewsite/app/models/compare_log.rb trunk/viewsite/app/models/system_call.rb trunk/viewsite/app/views/compare_logs/show.html.erb Modified: trunk/viewsite/app/helpers/compare_logs_helper.rb =================================================================== --- trunk/viewsite/app/helpers/compare_logs_helper.rb 2009-05-11 11:42:48 UTC (rev 878) +++ trunk/viewsite/app/helpers/compare_logs_helper.rb 2009-05-12 09:54:11 UTC (rev 879) @@ -1,2 +1,32 @@ module CompareLogsHelper + private + + def diff_colorize_or_h(diff, condition) + if condition && /\A---/ =~ diff + diff_colorize(diff) + else + "<pre>#{h(diff)}</pre>" + end + end + + def diff_colorize(diff) + out = [%Q!<pre style="background-color:#EEEEEE; color:black">!] + diff.each_line do |line| + case line + when /^[\-+]{3}/, /^\w/ + color = "gray" + when /^@/ + color = "#FFFFCC" + when /^-/ + color = "#FFCCCC" + when /^\+/ + color = "#CCFFCC" + else + color = "snow" + end + out << %Q!<span style="display: block; width: 100%; background-color:#{color}">#{h(line)}</span>! + end + out << "</pre>" + out + end end Modified: trunk/viewsite/app/models/compare_log.rb =================================================================== --- trunk/viewsite/app/models/compare_log.rb 2009-05-11 11:42:48 UTC (rev 878) +++ trunk/viewsite/app/models/compare_log.rb 2009-05-12 09:54:11 UTC (rev 879) @@ -24,6 +24,7 @@ validates_inclusion_of :compare_status, :in => 0...STATUS_MAX delegate :test_name, :to => :system_call + delegate :default_compare?, :to => :system_call def to_status case compare_status Modified: trunk/viewsite/app/models/system_call.rb =================================================================== --- trunk/viewsite/app/models/system_call.rb 2009-05-11 11:42:48 UTC (rev 878) +++ trunk/viewsite/app/models/system_call.rb 2009-05-12 09:54:11 UTC (rev 879) @@ -7,6 +7,12 @@ # validates_presence_of :syscall_number # null ok validates_presence_of :syscall_name + def default_compare? + testcases = Pathname.new(RAILS_ROOT) + "data/testcases" + compare = testcases + test_name + "compare" + !compare.executable? + end + def compare_path testcases = Pathname.new(RAILS_ROOT) + "data/testcases" compare = testcases + test_name + "compare" Modified: trunk/viewsite/app/views/compare_logs/show.html.erb =================================================================== --- trunk/viewsite/app/views/compare_logs/show.html.erb 2009-05-11 11:42:48 UTC (rev 878) +++ trunk/viewsite/app/views/compare_logs/show.html.erb 2009-05-12 09:54:11 UTC (rev 879) @@ -32,12 +32,12 @@ <p> <b>C out log:</b> </p> -<pre><%=h @compare_log.c_out_log %></pre> +<%= diff_colorize_or_h(@compare_log.c_out_log, @compare_log.default_compare?) %> <p> <b>C err log:</b> </p> -<pre><%=h @compare_log.c_err_log %></pre> +<%= diff_colorize_or_h(@compare_log.c_err_log, @compare_log.default_compare?) %> <p> <b>Compare status:</b> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |