OSDN Git Service

Issue #149 fixed
authorgitlabhq <m@gitlabhq.com>
Tue, 25 Oct 2011 04:32:02 +0000 (07:32 +0300)
committergitlabhq <m@gitlabhq.com>
Tue, 25 Oct 2011 04:32:02 +0000 (07:32 +0300)
app/views/commits/_commits.html.haml
app/views/commits/show.html.haml
app/views/projects/_recent_commits.html.haml
app/views/projects/_recent_messages.html.haml
app/views/projects/_tree_item.html.haml
lib/commit_ext.rb
spec/requests/team_members_spec.rb

index 3ed70f1..9982306 100644 (file)
@@ -11,7 +11,7 @@
             = image_tag "no_avatar.png", :class => "left", :width => 40, :style => "padding-right:5px;"
           %p
             %strong
-              = commit.truncated_message
+              = truncate(commit.safe_message, :length => 60)
             = link_to "Browse Code", tree_project_path(@project, :commit_id => commit.id), :class => "lite_button", :style => "float:right"
             = link_to truncate(commit.id.to_s, :length => 16), project_commit_path(@project, :id => commit.id), :class => "lite_button", :style => "width:120px;float:right"
           %span
index 0ba4261..3beeada 100644 (file)
@@ -1,5 +1,5 @@
 %h3
-  = "[ #{@commit.committer} ]  #{@commit.truncated_message(40)}"
+  = "[ #{@commit.committer} ]  #{truncate(@commit.safe_message)}"
 -#= link_to 'Back', project_commits_path(@project), :class => "button"
 %table.round-borders
   %tr
@@ -16,7 +16,7 @@
     %td= @commit.committed_date
   %tr
     %td Message
-    %td= @commit.message
+    %td= @commit.safe_message
   %tr
     %td Tree
     %td= link_to 'Browse Code', tree_project_path(@project, :commit_id => @commit.id)
index 36f4b63..3157c35 100644 (file)
@@ -6,7 +6,7 @@
       = image_tag "no_avatar.png", :class => "left", :width => 40, :style => "padding-right:5px;"
     %p{:style => "margin-bottom: 3px;"}
       %strong
-        = link_to commit.truncated_message(60), project_commit_path(@project, :id => commit.id) 
+        = link_to truncate(commit.safe_message, :length => 60), project_commit_path(@project, :id => commit.id) 
       
     %span
       %span.author
index 36f1435..67f3449 100644 (file)
@@ -19,7 +19,7 @@
     - css_class = "dash_commit"
     - commit = parent
     - item_code = commit.author.email
-    - link_item_name = commit.truncated_message(50)
+    - link_item_name = truncate(commit.safe_message, :length => 50)
     - link_to_item = project_commit_path(@project, :id => commit.id)
   - else
     - css_class = "dash_wall"
index 538d2cc..53c05d5 100644 (file)
@@ -12,4 +12,4 @@
     = time_ago_in_words(content_commit.committed_date)
     ago
   %td
-    = link_to content_commit.truncated_message(40), project_commit_path(@project, content_commit)
+    = link_to truncate(content_commit.safe_message, :length => 40), project_commit_path(@project, content_commit)
index c175fa0..e09dbda 100644 (file)
@@ -1,8 +1,10 @@
 module CommitExt
-  # Cause of encoding rails truncate raise error
-  # this method is temporary decision
-  def truncated_message(size = 80)
-    message.length > size ? (message[0..(size - 1)] + "...") : message
+  def safe_message
+    message.encode("UTF-8", 
+                   :invalid => :replace, 
+                   :undef => :replace, 
+                   :universal_newline => true,
+                   :replace => "")
   rescue 
     "-- invalid encoding for commit message"
   end
index ec0af32..650ed44 100644 (file)
@@ -10,7 +10,9 @@ describe "TeamMembers" do
   describe "View profile" do
     it "should be available" do
       visit(team_project_path(@project))
-      find(:xpath, "//table[@id='team-table']//a[1]").click
+      within "#team-table" do 
+        click_link(@user.name)
+      end
       page.should have_content @user.skype
       page.should_not have_content 'Twitter'
     end