Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
c5d76600
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
c5d76600
编写于
3月 27, 2015
作者:
D
Douwe Maan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix errors.
上级
8361ba81
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
114 addition
and
120 deletion
+114
-120
app/mailers/emails/groups.rb
app/mailers/emails/groups.rb
+1
-0
app/mailers/emails/profile.rb
app/mailers/emails/profile.rb
+3
-3
app/mailers/emails/projects.rb
app/mailers/emails/projects.rb
+3
-2
app/mailers/notify.rb
app/mailers/notify.rb
+9
-3
app/models/concerns/mentionable.rb
app/models/concerns/mentionable.rb
+1
-1
app/services/projects/participants_service.rb
app/services/projects/participants_service.rb
+7
-12
lib/gitlab/markdown.rb
lib/gitlab/markdown.rb
+2
-2
lib/gitlab/reference_extractor.rb
lib/gitlab/reference_extractor.rb
+6
-18
spec/helpers/gitlab_markdown_helper_spec.rb
spec/helpers/gitlab_markdown_helper_spec.rb
+8
-0
spec/lib/gitlab/reference_extractor_spec.rb
spec/lib/gitlab/reference_extractor_spec.rb
+74
-79
未找到文件。
app/mailers/emails/groups.rb
浏览文件 @
c5d76600
...
...
@@ -4,6 +4,7 @@ module Emails
@group_member
=
GroupMember
.
find
(
group_member_id
)
@group
=
@group_member
.
group
@target_url
=
group_url
(
@group
)
@current_user
=
@group_member
.
user
mail
(
to:
@group_member
.
user
.
email
,
subject:
subject
(
"Access to group was granted"
))
end
...
...
app/mailers/emails/profile.rb
浏览文件 @
c5d76600
module
Emails
module
Profile
def
new_user_email
(
user_id
,
token
=
nil
)
@user
=
User
.
find
(
user_id
)
@
current_user
=
@
user
=
User
.
find
(
user_id
)
@target_url
=
user_url
(
@user
)
@token
=
token
mail
(
to:
@user
.
notification_email
,
subject:
subject
(
"Account was created for you"
))
...
...
@@ -9,13 +9,13 @@ module Emails
def
new_email_email
(
email_id
)
@email
=
Email
.
find
(
email_id
)
@user
=
@email
.
user
@
current_user
=
@
user
=
@email
.
user
mail
(
to:
@user
.
notification_email
,
subject:
subject
(
"Email was added to your account"
))
end
def
new_ssh_key_email
(
key_id
)
@key
=
Key
.
find
(
key_id
)
@user
=
@key
.
user
@
current_user
=
@
user
=
@key
.
user
@target_url
=
user_url
(
@user
)
mail
(
to:
@user
.
notification_email
,
subject:
subject
(
"SSH key was added to your account"
))
end
...
...
app/mailers/emails/projects.rb
浏览文件 @
c5d76600
...
...
@@ -4,12 +4,13 @@ module Emails
@project_member
=
ProjectMember
.
find
user_project_id
@project
=
@project_member
.
project
@target_url
=
namespace_project_url
(
@project
.
namespace
,
@project
)
@current_user
=
@project_member
.
user
mail
(
to:
@project_member
.
user
.
email
,
subject:
subject
(
"Access to project was granted"
))
end
def
project_was_moved_email
(
project_id
,
user_id
)
@user
=
User
.
find
user_id
@
current_user
=
@
user
=
User
.
find
user_id
@project
=
Project
.
find
project_id
@target_url
=
namespace_project_url
(
@project
.
namespace
,
@project
)
mail
(
to:
@user
.
notification_email
,
...
...
@@ -28,7 +29,7 @@ module Emails
end
@project
=
Project
.
find
(
project_id
)
@author
=
User
.
find
(
author_id
)
@
current_user
=
@
author
=
User
.
find
(
author_id
)
@reverse_compare
=
reverse_compare
@compare
=
compare
@ref_name
=
Gitlab
::
Git
.
ref_name
(
ref
)
...
...
app/mailers/notify.rb
浏览文件 @
c5d76600
...
...
@@ -13,6 +13,9 @@ class Notify < ActionMailer::Base
add_template_helper
MergeRequestsHelper
add_template_helper
EmailsHelper
attr_accessor
:current_user
helper_method
:current_user
,
:can?
default_url_options
[
:host
]
=
Gitlab
.
config
.
gitlab
.
host
default_url_options
[
:protocol
]
=
Gitlab
.
config
.
gitlab
.
protocol
default_url_options
[
:port
]
=
Gitlab
.
config
.
gitlab
.
port
unless
Gitlab
.
config
.
gitlab_on_standard_port?
...
...
@@ -79,9 +82,8 @@ class Notify < ActionMailer::Base
#
# Returns a String containing the User's email address.
def
recipient
(
recipient_id
)
if
recipient
=
User
.
find
(
recipient_id
)
recipient
.
notification_email
end
@current_user
=
User
.
find
(
recipient_id
)
@current_user
.
notification_email
end
# Set the References header field
...
...
@@ -154,4 +156,8 @@ class Notify < ActionMailer::Base
mail
(
headers
,
&
block
)
end
def
can?
Ability
.
abilities
.
allowed?
(
user
,
action
,
subject
)
end
end
app/models/concerns/mentionable.rb
浏览文件 @
c5d76600
...
...
@@ -46,7 +46,7 @@ module Mentionable
return
[]
if
mentionable_text
.
blank?
ext
=
Gitlab
::
ReferenceExtractor
.
new
(
self
.
project
,
current_user
)
ext
.
analyze
(
text
)
ext
.
analyze
(
mentionable_
text
)
ext
.
users
.
uniq
end
...
...
app/services/projects/participants_service.rb
浏览文件 @
c5d76600
module
Projects
class
ParticipantsService
<
BaseService
def
initialize
(
project
,
user
)
@project
=
project
@user
=
user
end
def
execute
(
note_type
,
note_id
)
participating
=
if
note_type
&&
note_id
...
...
@@ -12,7 +7,7 @@ module Projects
else
[]
end
project_members
=
sorted
(
@
project
.
team
.
members
)
project_members
=
sorted
(
project
.
team
.
members
)
participants
=
all_members
+
groups
+
project_members
+
participating
participants
.
uniq
end
...
...
@@ -20,11 +15,11 @@ module Projects
def
participants_in
(
type
,
id
)
users
=
case
type
when
"Issue"
issue
=
@
project
.
issues
.
find_by_iid
(
id
)
issue
?
issue
.
participants
(
user
)
:
[]
issue
=
project
.
issues
.
find_by_iid
(
id
)
issue
?
issue
.
participants
(
current_
user
)
:
[]
when
"MergeRequest"
merge_request
=
@
project
.
merge_requests
.
find_by_iid
(
id
)
merge_request
?
merge_request
.
participants
(
user
)
:
[]
merge_request
=
project
.
merge_requests
.
find_by_iid
(
id
)
merge_request
?
merge_request
.
participants
(
current_
user
)
:
[]
when
"Commit"
author_ids
=
Note
.
for_commit_id
(
id
).
pluck
(
:author_id
).
uniq
User
.
where
(
id:
author_ids
)
...
...
@@ -41,14 +36,14 @@ module Projects
end
def
groups
@
user
.
authorized_groups
.
sort_by
(
&
:path
).
map
do
|
group
|
current_
user
.
authorized_groups
.
sort_by
(
&
:path
).
map
do
|
group
|
count
=
group
.
users
.
count
{
username:
group
.
path
,
name:
"
#{
group
.
name
}
(
#{
count
}
)"
}
end
end
def
all_members
count
=
@
project
.
team
.
members
.
flatten
.
count
count
=
project
.
team
.
members
.
flatten
.
count
[{
username:
"all"
,
name:
"All Project and Group Members (
#{
count
}
)"
}]
end
end
...
...
lib/gitlab/markdown.rb
浏览文件 @
c5d76600
...
...
@@ -192,7 +192,7 @@ module Gitlab
project_path
=
$LAST_MATCH_INFO
[
:project
]
if
project_path
actual_project
=
::
Project
.
find_with_namespace
(
project_path
)
actual_project
||
=
nil
unless
can?
(
user
,
:read_project
,
actual_project
)
actual_project
=
nil
unless
can?
(
user
,
:read_project
,
actual_project
)
project_prefix
=
project_path
end
...
...
@@ -235,7 +235,7 @@ module Gitlab
#
# Returns string rendered by the processing method
def
reference_link
(
type
,
identifier
,
project
=
@project
,
user
=
current_user
,
prefix_text
=
nil
)
send
(
"reference_
#{
type
}
"
,
identifier
,
project
,
prefix_text
)
send
(
"reference_
#{
type
}
"
,
identifier
,
project
,
user
,
prefix_text
)
end
def
reference_user
(
identifier
,
project
=
@project
,
user
=
current_user
,
_
=
nil
)
...
...
lib/gitlab/reference_extractor.rb
浏览文件 @
c5d76600
...
...
@@ -7,7 +7,7 @@ module Gitlab
def
initialize
(
project
,
current_user
=
nil
)
@project
=
project
@current_user
=
user
@current_user
=
current_
user
@references
=
Hash
.
new
{
[]
}
end
...
...
@@ -51,7 +51,7 @@ module Gitlab
def
issues
references
[
:issues
].
map
do
|
entry
|
if
should_lookup?
(
entry
[
:project
])
if
entry
[
:project
].
default_issues_tracker?
entry
[
:project
].
issues
.
where
(
iid:
entry
[
:id
]).
first
end
end
.
compact
...
...
@@ -59,9 +59,7 @@ module Gitlab
def
merge_requests
references
[
:merge_requests
].
map
do
|
entry
|
if
should_lookup?
(
entry
[
:project
])
entry
[
:project
].
merge_requests
.
where
(
iid:
entry
[
:id
]).
first
end
entry
[
:project
].
merge_requests
.
where
(
iid:
entry
[
:id
]).
first
end
.
compact
end
...
...
@@ -73,17 +71,15 @@ module Gitlab
def
commits
references
[
:commits
].
map
do
|
entry
|
repo
=
entry
[
:project
].
repository
if
entry
[
:project
]
if
should_lookup?
(
entry
[
:project
])
repo
.
commit
(
entry
[
:id
])
if
repo
end
repo
=
entry
[
:project
].
repository
repo
.
commit
(
entry
[
:id
])
if
repo
end
.
compact
end
def
commit_ranges
references
[
:commit_ranges
].
map
do
|
entry
|
repo
=
entry
[
:project
].
repository
if
entry
[
:project
]
if
repo
&&
should_lookup?
(
entry
[
:project
])
if
repo
from_id
,
to_id
=
entry
[
:id
].
split
(
/\.{2,3}/
,
2
)
[
repo
.
commit
(
from_id
),
repo
.
commit
(
to_id
)]
end
...
...
@@ -95,13 +91,5 @@ module Gitlab
def
reference_link
(
type
,
identifier
,
project
,
user
,
_
)
references
[
type
]
<<
{
project:
project
,
id:
identifier
}
end
def
should_lookup?
(
entry_project
)
if
entry_project
.
nil?
false
else
project
.
nil?
||
entry_project
.
default_issues_tracker?
end
end
end
end
spec/helpers/gitlab_markdown_helper_spec.rb
浏览文件 @
c5d76600
...
...
@@ -4,6 +4,11 @@ describe GitlabMarkdownHelper do
include
ApplicationHelper
include
IssuesHelper
# TODO: Properly test this
def
can?
(
*
)
true
end
let!
(
:project
)
{
create
(
:project
)
}
let
(
:empty_project
)
{
create
(
:empty_project
)
}
...
...
@@ -15,6 +20,9 @@ describe GitlabMarkdownHelper do
let
(
:snippet
)
{
create
(
:project_snippet
,
project:
project
)
}
let
(
:member
)
{
project
.
project_members
.
where
(
user_id:
user
).
first
}
# Helper expects a current_user method.
let
(
:current_user
)
{
user
}
def
url_helper
(
image_name
)
File
.
join
(
root_url
,
'assets'
,
image_name
)
end
...
...
spec/lib/gitlab/reference_extractor_spec.rb
浏览文件 @
c5d76600
require
'spec_helper'
describe
Gitlab
::
ReferenceExtractor
do
let
(
:project
)
{
create
(
:project
)
}
subject
{
Gitlab
::
ReferenceExtractor
.
new
(
project
)
}
it
'extracts username references'
do
subject
.
analyze
(
'this contains a @user reference'
,
nil
)
expect
(
subject
.
users
).
to
eq
([{
project:
nil
,
id:
'user'
}])
subject
.
analyze
(
'this contains a @user reference'
)
expect
(
subject
.
users
).
to
eq
([{
project:
project
,
id:
'user'
}])
end
it
'extracts issue references'
do
subject
.
analyze
(
'this one talks about issue #1234'
,
nil
)
expect
(
subject
.
issues
).
to
eq
([{
project:
nil
,
id:
'1234'
}])
subject
.
analyze
(
'this one talks about issue #1234'
)
expect
(
subject
.
issues
).
to
eq
([{
project:
project
,
id:
'1234'
}])
end
it
'extracts JIRA issue references'
do
subject
.
analyze
(
'this one talks about issue JIRA-1234'
,
nil
)
expect
(
subject
.
issues
).
to
eq
([{
project:
nil
,
id:
'JIRA-1234'
}])
subject
.
analyze
(
'this one talks about issue JIRA-1234'
)
expect
(
subject
.
issues
).
to
eq
([{
project:
project
,
id:
'JIRA-1234'
}])
end
it
'extracts merge request references'
do
subject
.
analyze
(
"and here's !43, a merge request"
,
nil
)
expect
(
subject
.
merge_requests
).
to
eq
([{
project:
nil
,
id:
'43'
}])
subject
.
analyze
(
"and here's !43, a merge request"
)
expect
(
subject
.
merge_requests
).
to
eq
([{
project:
project
,
id:
'43'
}])
end
it
'extracts snippet ids'
do
subject
.
analyze
(
'snippets like $12 get extracted as well'
,
nil
)
expect
(
subject
.
snippets
).
to
eq
([{
project:
nil
,
id:
'12'
}])
subject
.
analyze
(
'snippets like $12 get extracted as well'
)
expect
(
subject
.
snippets
).
to
eq
([{
project:
project
,
id:
'12'
}])
end
it
'extracts commit shas'
do
subject
.
analyze
(
'commit shas 98cf0ae3 are pulled out as Strings'
,
nil
)
expect
(
subject
.
commits
).
to
eq
([{
project:
nil
,
id:
'98cf0ae3'
}])
subject
.
analyze
(
'commit shas 98cf0ae3 are pulled out as Strings'
)
expect
(
subject
.
commits
).
to
eq
([{
project:
project
,
id:
'98cf0ae3'
}])
end
it
'extracts commit ranges'
do
subject
.
analyze
(
'here you go, a commit range: 98cf0ae3...98cf0ae4'
,
nil
)
expect
(
subject
.
commit_ranges
).
to
eq
([{
project:
nil
,
id:
'98cf0ae3...98cf0ae4'
}])
subject
.
analyze
(
'here you go, a commit range: 98cf0ae3...98cf0ae4'
)
expect
(
subject
.
commit_ranges
).
to
eq
([{
project:
project
,
id:
'98cf0ae3...98cf0ae4'
}])
end
it
'extracts multiple references and preserves their order'
do
subject
.
analyze
(
'@me and @you both care about this'
,
nil
)
subject
.
analyze
(
'@me and @you both care about this'
)
expect
(
subject
.
users
).
to
eq
([
{
project:
nil
,
id:
'me'
},
{
project:
nil
,
id:
'you'
}
{
project:
project
,
id:
'me'
},
{
project:
project
,
id:
'you'
}
])
end
it
'leaves the original note unmodified'
do
text
=
'issue #123 is just the worst, @user'
subject
.
analyze
(
text
,
nil
)
subject
.
analyze
(
text
)
expect
(
text
).
to
eq
(
'issue #123 is just the worst, @user'
)
end
it
'extracts no references for <pre>..</pre> blocks'
do
subject
.
analyze
(
"<pre>def puts '#1 issue'
\n
end
\n
</pre>```"
,
nil
)
subject
.
analyze
(
"<pre>def puts '#1 issue'
\n
end
\n
</pre>```"
)
expect
(
subject
.
issues
).
to
be_blank
end
it
'extracts no references for <code>..</code> blocks'
do
subject
.
analyze
(
"<code>def puts '!1 request'
\n
end
\n
</code>```"
,
nil
)
subject
.
analyze
(
"<code>def puts '!1 request'
\n
end
\n
</code>```"
)
expect
(
subject
.
merge_requests
).
to
be_blank
end
it
'extracts no references for code blocks with language'
do
subject
.
analyze
(
"this code:
\n
```ruby
\n
def puts '#1 issue'
\n
end
\n
```"
,
nil
)
subject
.
analyze
(
"this code:
\n
```ruby
\n
def puts '#1 issue'
\n
end
\n
```"
)
expect
(
subject
.
issues
).
to
be_blank
end
it
'extracts issue references for invalid code blocks'
do
subject
.
analyze
(
'test: ```this one talks about issue #1234```'
,
nil
)
expect
(
subject
.
issues
).
to
eq
([{
project:
nil
,
id:
'1234'
}])
subject
.
analyze
(
'test: ```this one talks about issue #1234```'
)
expect
(
subject
.
issues
).
to
eq
([{
project:
project
,
id:
'1234'
}])
end
it
'handles all possible kinds of references'
do
...
...
@@ -75,70 +78,64 @@ describe Gitlab::ReferenceExtractor do
expect
(
subject
).
to
respond_to
(
*
accessors
)
end
context
'with a project'
do
let
(
:project
)
{
create
(
:project
)
}
it
'accesses valid user objects on the project team'
do
@u_foo
=
create
(
:user
,
username:
'foo'
)
@u_bar
=
create
(
:user
,
username:
'bar'
)
create
(
:user
,
username:
'offteam'
)
it
'accesses valid user objects on the project team'
do
@u_foo
=
create
(
:user
,
username:
'foo'
)
@u_bar
=
create
(
:user
,
username:
'bar'
)
create
(
:user
,
username:
'offteam'
)
project
.
team
<<
[
@u_foo
,
:reporter
]
project
.
team
<<
[
@u_bar
,
:guest
]
project
.
team
<<
[
@u_foo
,
:reporter
]
project
.
team
<<
[
@u_bar
,
:guest
]
subject
.
analyze
(
'@foo, @baduser, @bar, and @offteam'
,
project
)
expect
(
subject
.
users_for
(
project
)
).
to
eq
([
@u_foo
,
@u_bar
])
end
subject
.
analyze
(
'@foo, @baduser, @bar, and @offteam'
)
expect
(
subject
.
users
).
to
eq
([
@u_foo
,
@u_bar
])
end
it
'accesses valid issue objects'
do
@i0
=
create
(
:issue
,
project:
project
)
@i1
=
create
(
:issue
,
project:
project
)
it
'accesses valid issue objects'
do
@i0
=
create
(
:issue
,
project:
project
)
@i1
=
create
(
:issue
,
project:
project
)
subject
.
analyze
(
"#
#{
@i0
.
iid
}
, #
#{
@i1
.
iid
}
, and #999."
,
project
)
expect
(
subject
.
issues_for
(
project
)
).
to
eq
([
@i0
,
@i1
])
end
subject
.
analyze
(
"#
#{
@i0
.
iid
}
, #
#{
@i1
.
iid
}
, and #999."
)
expect
(
subject
.
issues
).
to
eq
([
@i0
,
@i1
])
end
it
'accesses valid merge requests'
do
@m0
=
create
(
:merge_request
,
source_project:
project
,
target_project:
project
,
source_branch:
'aaa'
)
@m1
=
create
(
:merge_request
,
source_project:
project
,
target_project:
project
,
source_branch:
'bbb'
)
it
'accesses valid merge requests'
do
@m0
=
create
(
:merge_request
,
source_project:
project
,
target_project:
project
,
source_branch:
'aaa'
)
@m1
=
create
(
:merge_request
,
source_project:
project
,
target_project:
project
,
source_branch:
'bbb'
)
subject
.
analyze
(
"!999, !
#{
@m1
.
iid
}
, and !
#{
@m0
.
iid
}
."
,
project
)
expect
(
subject
.
merge_requests_for
(
project
)
).
to
eq
([
@m1
,
@m0
])
end
subject
.
analyze
(
"!999, !
#{
@m1
.
iid
}
, and !
#{
@m0
.
iid
}
."
)
expect
(
subject
.
merge_requests
).
to
eq
([
@m1
,
@m0
])
end
it
'accesses valid snippets'
do
@s0
=
create
(
:project_snippet
,
project:
project
)
@s1
=
create
(
:project_snippet
,
project:
project
)
@s2
=
create
(
:project_snippet
)
it
'accesses valid snippets'
do
@s0
=
create
(
:project_snippet
,
project:
project
)
@s1
=
create
(
:project_snippet
,
project:
project
)
@s2
=
create
(
:project_snippet
)
subject
.
analyze
(
"$
#{
@s0
.
id
}
, $999, $
#{
@s2
.
id
}
, $
#{
@s1
.
id
}
"
,
project
)
expect
(
subject
.
snippets_for
(
project
)
).
to
eq
([
@s0
,
@s1
])
end
subject
.
analyze
(
"$
#{
@s0
.
id
}
, $999, $
#{
@s2
.
id
}
, $
#{
@s1
.
id
}
"
)
expect
(
subject
.
snippets
).
to
eq
([
@s0
,
@s1
])
end
it
'accesses valid commits'
do
commit
=
project
.
repository
.
commit
(
'master'
)
it
'accesses valid commits'
do
commit
=
project
.
repository
.
commit
(
'master'
)
subject
.
analyze
(
"this references commits
#{
commit
.
sha
[
0
..
6
]
}
and 012345"
,
project
)
extracted
=
subject
.
commits_for
(
project
)
expect
(
extracted
.
size
).
to
eq
(
1
)
expect
(
extracted
[
0
].
sha
).
to
eq
(
commit
.
sha
)
expect
(
extracted
[
0
].
message
).
to
eq
(
commit
.
message
)
end
subject
.
analyze
(
"this references commits
#{
commit
.
sha
[
0
..
6
]
}
and 012345"
)
extracted
=
subject
.
commits
expect
(
extracted
.
size
).
to
eq
(
1
)
expect
(
extracted
[
0
].
sha
).
to
eq
(
commit
.
sha
)
expect
(
extracted
[
0
].
message
).
to
eq
(
commit
.
message
)
end
it
'accesses valid commit ranges'
do
commit
=
project
.
repository
.
commit
(
'master'
)
earlier_commit
=
project
.
repository
.
commit
(
'master~2'
)
it
'accesses valid commit ranges'
do
commit
=
project
.
repository
.
commit
(
'master'
)
earlier_commit
=
project
.
repository
.
commit
(
'master~2'
)
subject
.
analyze
(
"this references commits
#{
earlier_commit
.
sha
[
0
..
6
]
}
...
#{
commit
.
sha
[
0
..
6
]
}
"
,
project
)
extracted
=
subject
.
commit_ranges_for
(
project
)
expect
(
extracted
.
size
).
to
eq
(
1
)
expect
(
extracted
[
0
][
0
].
sha
).
to
eq
(
earlier_commit
.
sha
)
expect
(
extracted
[
0
][
0
].
message
).
to
eq
(
earlier_commit
.
message
)
expect
(
extracted
[
0
][
1
].
sha
).
to
eq
(
commit
.
sha
)
expect
(
extracted
[
0
][
1
].
message
).
to
eq
(
commit
.
message
)
end
subject
.
analyze
(
"this references commits
#{
earlier_commit
.
sha
[
0
..
6
]
}
...
#{
commit
.
sha
[
0
..
6
]
}
"
)
extracted
=
subject
.
commit_ranges
expect
(
extracted
.
size
).
to
eq
(
1
)
expect
(
extracted
[
0
][
0
].
sha
).
to
eq
(
earlier_commit
.
sha
)
expect
(
extracted
[
0
][
0
].
message
).
to
eq
(
earlier_commit
.
message
)
expect
(
extracted
[
0
][
1
].
sha
).
to
eq
(
commit
.
sha
)
expect
(
extracted
[
0
][
1
].
message
).
to
eq
(
commit
.
message
)
end
context
'with a project with an underscore'
do
...
...
@@ -146,12 +143,10 @@ describe Gitlab::ReferenceExtractor do
let
(
:issue
)
{
create
(
:issue
,
project:
project
)
}
it
'handles project issue references'
do
subject
.
analyze
(
"this refers issue
#{
project
.
path_with_namespace
}
#
#{
issue
.
iid
}
"
,
project
)
extracted
=
subject
.
issues_for
(
project
)
subject
.
analyze
(
"this refers issue
#{
project
.
path_with_namespace
}
#
#{
issue
.
iid
}
"
)
extracted
=
subject
.
issues
expect
(
extracted
.
size
).
to
eq
(
1
)
expect
(
extracted
).
to
eq
([
issue
])
end
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录