BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
gitlab-ce
Commits
89a03a34
Commit
89a03a34
authored
Dec 26, 2011
by
Cedric Gatay
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1/ rspec'ed
2/ @commit.safe_message as an argument 3/ preserve in helper 4/ spaces around operators
parent
5d9f2e7d
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
79 additions
and
10 deletions
+79
-10
commits_helper.rb
app/helpers/commits_helper.rb
+10
-9
show.html.haml
app/views/commits/show.html.haml
+1
-1
commit_helper_spec.rb
spec/helpers/commit_helper_spec.rb
+68
-0
No files found.
app/helpers/commits_helper.rb
View file @
89a03a34
...
...
@@ -20,26 +20,27 @@ module CommitsHelper
def
more_commits_link
offset
=
params
[
:offset
]
||
0
limit
=
params
[
:limit
]
||
100
link_to
"More"
,
project_commits_path
(
@
project
,
:offset
=>
offset
.
to_i
+
limit
.
to_i
,
:limit
=>
limit
),
link_to
"More"
,
project_commits_path
(
project
,
:offset
=>
offset
.
to_i
+
limit
.
to_i
,
:limit
=>
limit
),
:remote
=>
true
,
:class
=>
"lite_button vm"
,
:style
=>
"text-align:center; width:930px; "
,
:id
=>
"more-commits-link"
end
def
commit_msg_with_link_to_issues
out
=
""
@commit
.
safe_message
.
split
(
/(#[0-9]+)/m
).
each
do
|
m
|
def
commit_msg_with_link_to_issues
(
project
,
message
)
return
''
unless
message
out
=
''
message
.
split
(
/(#[0-9]+)/m
).
each
do
|
m
|
if
m
=~
/(#([0-9]+))/m
begin
issue
=
Issue
.
find
(
$2
)
raise
Exception
(
'Issue not belonging to current project, not creating link !'
)
unless
issue
.
project_id
==
@
project
.
id
out
+=
link_to
(
$1
,
project_issue_path
(
@
project
,
$2
))
raise
Exception
(
'Issue not belonging to current project, not creating link !'
)
unless
issue
.
project_id
==
project
.
id
out
+=
link_to
(
$1
,
project_issue_path
(
project
,
$2
))
rescue
out
+=
$1
out
+=
$1
end
else
out
+=
m
out
+=
m
end
end
out
preserve
out
end
end
app/views/commits/show.html.haml
View file @
89a03a34
...
...
@@ -18,7 +18,7 @@
%hr
%pre
.commit_message
=
preserve
commit_msg_with_link_to_issues
=
commit_msg_with_link_to_issues
(
@project
,
@commit
.
safe_message
)
.clear
%br
...
...
spec/helpers/commit_helper_spec.rb
0 → 100644
View file @
89a03a34
require
"spec_helper"
include
Haml
::
Helpers
describe
CommitsHelper
do
before
do
@project
=
Factory
:project
@other_project
=
Factory
:project
,
:path
=>
"OtherPath"
,
:code
=>
"OtherCode"
@fake_user
=
Factory
:user
@valid_issue
=
Factory
:issue
,
:assignee
=>
@fake_user
,
:author
=>
@fake_user
,
:project
=>
@project
@invalid_issue
=
Factory
:issue
,
:assignee
=>
@fake_user
,
:author
=>
@fake_user
,
:project
=>
@other_project
end
it
"should provides return message untouched if no issue number present"
do
message
=
"Dummy message without issue number"
commit_msg_with_link_to_issues
(
@project
,
message
).
should
eql
message
end
it
"should returns message handled by preserve"
do
message
=
"My brand new
Commit on multiple
lines !"
#\n are converted to 
 as specified in preserve_rspec
expected
=
"My brand new
 Commit on multiple
 lines !"
commit_msg_with_link_to_issues
(
@project
,
message
).
should
eql
expected
end
it
"should returns empty string if message undefined"
do
commit_msg_with_link_to_issues
(
@project
,
nil
).
should
eql
''
end
it
"should returns link_to issue for one valid issue in message"
do
issue_id
=
@valid_issue
.
id
message
=
"One commit message #
#{
issue_id
}
"
expected
=
"One commit message <a href=
\"
/
#{
@project
.
code
}
/issues/
#{
issue_id
}
\"
>#
#{
issue_id
}
</a>"
commit_msg_with_link_to_issues
(
@project
,
message
).
should
eql
expected
end
it
"should returns message untouched for one invalid issue in message"
do
issue_id
=
@invalid_issue
.
id
message
=
"One commit message #
#{
issue_id
}
"
commit_msg_with_link_to_issues
(
@project
,
message
).
should
eql
message
end
it
"should handle multiple issue references in commit message"
do
issue_id
=
@valid_issue
.
id
invalid_issue_id
=
@invalid_issue
.
id
message
=
"One big commit message with a valid issue #
#{
issue_id
}
and an invalid one #
#{
invalid_issue_id
}
.
We reference valid #
#{
issue_id
}
multiple times (#
#{
issue_id
}
) as the invalid #
#{
invalid_issue_id
}
is also
referenced another time (#
#{
invalid_issue_id
}
)"
expected
=
"One big commit message with a valid issue <a href=
\"
/
#{
@project
.
code
}
/issues/
#{
issue_id
}
\"
>#
#{
issue_id
}
</a>"
+
" and an invalid one #
#{
invalid_issue_id
}
.
 "
+
"We reference valid <a href=
\"
/
#{
@project
.
code
}
/issues/
#{
issue_id
}
\"
>#
#{
issue_id
}
</a> multiple times "
+
"(<a href=
\"
/
#{
@project
.
code
}
/issues/
#{
issue_id
}
\"
>#
#{
issue_id
}
</a>) "
+
"as the invalid #
#{
invalid_issue_id
}
is also
 referenced another time (#
#{
invalid_issue_id
}
)"
commit_msg_with_link_to_issues
(
@project
,
message
).
should
eql
expected
end
end
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment