Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boxiang Sun
gitlab-ce
Commits
ac98d74a
Commit
ac98d74a
authored
Feb 24, 2014
by
Dmitriy Zaporozhets
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'file_css' into 'master'
Better css class names for diff elements
parents
05c5b770
76ad6046
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
407 additions
and
408 deletions
+407
-408
app/assets/javascripts/main.js.coffee
app/assets/javascripts/main.js.coffee
+2
-2
app/assets/stylesheets/application.scss
app/assets/stylesheets/application.scss
+1
-0
app/assets/stylesheets/sections/commits.scss
app/assets/stylesheets/sections/commits.scss
+0
-330
app/assets/stylesheets/sections/diff.scss
app/assets/stylesheets/sections/diff.scss
+329
-0
app/assets/stylesheets/sections/notes.scss
app/assets/stylesheets/sections/notes.scss
+21
-18
app/views/projects/commits/_diffs.html.haml
app/views/projects/commits/_diffs.html.haml
+3
-3
app/views/projects/notes/_discussion.html.haml
app/views/projects/notes/_discussion.html.haml
+6
-11
app/views/projects/notes/_discussion_diff.html.haml
app/views/projects/notes/_discussion_diff.html.haml
+23
-22
features/steps/shared/diff_note.rb
features/steps/shared/diff_note.rb
+21
-21
spec/features/notes_on_merge_requests_spec.rb
spec/features/notes_on_merge_requests_spec.rb
+1
-1
No files found.
app/assets/javascripts/main.js.coffee
View file @
ac98d74a
...
...
@@ -117,11 +117,11 @@ $ ->
# Commit show suppressed diff
$
(
".content"
).
on
"click"
,
".supp_diff_link"
,
->
$
(
".
diff-
content"
).
on
"click"
,
".supp_diff_link"
,
->
$
(
@
).
next
(
'table'
).
show
()
$
(
@
).
remove
()
$
(
".content"
).
on
"click"
,
".js-details-expand"
,
->
$
(
".
diff-
content"
).
on
"click"
,
".js-details-expand"
,
->
$
(
@
).
next
(
'.js-details-contain'
).
removeClass
(
"hide"
)
$
(
@
).
remove
()
...
...
app/assets/stylesheets/application.scss
View file @
ac98d74a
...
...
@@ -48,6 +48,7 @@
@import
"sections/header.scss"
;
@import
"sections/nav.scss"
;
@import
"sections/commits.scss"
;
@import
"sections/diff.scss"
;
@import
"sections/issues.scss"
;
@import
"sections/projects.scss"
;
@import
"sections/snippets.scss"
;
...
...
app/assets/stylesheets/sections/commits.scss
View file @
ac98d74a
...
...
@@ -10,336 +10,6 @@
}
}
.file
{
border
:
1px
solid
#CCC
;
margin-bottom
:
1em
;
.header
{
@extend
.clearfix
;
background
:
#DDD
;
border-bottom
:
1px
solid
#CCC
;
padding
:
5px
5px
5px
10px
;
color
:
#555
;
>
span
{
font-family
:
$monospace_font
;
font-size
:
14px
;
line-height
:
2
;
}
.diff-btn-group
{
float
:
right
;
.btn
{
background-color
:
#EEE
;
color
:
#666
;
font-weight
:
bolder
;
}
}
.commit-short-id
{
font-family
:
$monospace_font
;
font-size
:
smaller
;
}
.file-mode
{
font-family
:
$monospace_font
;
}
}
.content
{
overflow
:
auto
;
overflow-y
:
hidden
;
background
:
#FFF
;
color
:
#333
;
font-size
:
12px
;
.old
{
span
.idiff
{
background-color
:
#FAA
;
}
}
.new
{
span
.idiff
{
background-color
:
#AFA
;
}
}
table
{
width
:
100%
;
font-family
:
$monospace_font
;
border
:
none
;
margin
:
0px
;
padding
:
0px
;
td
{
line-height
:
18px
;
font-size
:
12px
;
}
}
.old_line
,
.new_line
,
.diff_line
{
margin
:
0px
;
padding
:
0px
;
border
:
none
;
background
:
#EEE
;
color
:
#666
;
padding
:
0px
5px
;
border-right
:
1px
solid
#ccc
;
text-align
:
right
;
min-width
:
35px
;
max-width
:
50px
;
width
:
35px
;
@include
user-select
(
none
);
a
{
float
:
left
;
width
:
35px
;
font-weight
:
normal
;
color
:
#666
;
&
:hover
{
text-decoration
:
underline
;
}
}
&
.new
{
background
:
#CFD
;
}
&
.old
{
background
:
#FDD
;
}
}
.diff_line
{
padding
:
0
;
}
.line_holder
{
&
.old
.old_line
,
&
.old
.new_line
{
background
:
#FCC
;
border-color
:
#E7BABA
;
}
&
.new
.old_line
,
&
.new
.new_line
{
background
:
#CFC
;
border-color
:
#B9ECB9
;
}
}
.line_content
{
display
:
block
;
white-space
:
pre
;
height
:
18px
;
margin
:
0px
;
padding
:
0px
0
.5em
;
border
:
none
;
&
.new
{
background
:
#CFD
;
}
&
.old
{
background
:
#FDD
;
}
&
.matched
{
color
:
#ccc
;
background
:
#fafafa
;
}
&
.parallel
{
display
:
table-cell
;
overflow
:
hidden
;
width
:
50%
;
}
}
}
.image
{
background
:
#ddd
;
text-align
:
center
;
padding
:
30px
;
.wrap
{
display
:
inline-block
;
}
.frame
{
display
:
inline-block
;
background-color
:
#fff
;
line-height
:
0
;
img
{
border
:
1px
solid
#FFF
;
background
:
url('trans_bg.gif')
;
max-width
:
100%
;
}
&
.deleted
{
border
:
1px
solid
$deleted
;
}
&
.added
{
border
:
1px
solid
$added
;
}
}
.image-info
{
font-size
:
12px
;
margin
:
5px
0
0
0
;
color
:
grey
;
}
.view.swipe
{
position
:
relative
;
.swipe-frame
{
display
:
block
;
margin
:
auto
;
position
:
relative
;
}
.swipe-wrap
{
overflow
:
hidden
;
border-left
:
1px
solid
#999
;
position
:
absolute
;
display
:
block
;
top
:
13px
;
right
:
7px
;
}
.frame
{
top
:
0
;
right
:
0
;
position
:
absolute
;
&
.deleted
{
margin
:
0
;
display
:
block
;
top
:
13px
;
right
:
7px
;
}
}
.swipe-bar
{
display
:
block
;
height
:
100%
;
width
:
15px
;
z-index
:
100
;
position
:
absolute
;
cursor
:
pointer
;
&
:hover
{
.top-handle
{
background-position
:
-15px
3px
;
}
.bottom-handle
{
background-position
:
-15px
-11px
;
}
};
.top-handle
{
display
:
block
;
height
:
14px
;
width
:
15px
;
position
:
absolute
;
top
:
0px
;
background
:
url('swipemode_sprites.gif')
0
3px
no-repeat
;
}
.bottom-handle
{
display
:
block
;
height
:
14px
;
width
:
15px
;
position
:
absolute
;
bottom
:
0px
;
background
:
url('swipemode_sprites.gif')
0
-11px
no-repeat
;
}
}
}
//.view.swipe
.view.onion-skin
{
.onion-skin-frame
{
display
:
block
;
margin
:
auto
;
position
:
relative
;
}
.frame.added
,
.frame.deleted
{
position
:
absolute
;
display
:
block
;
top
:
0px
;
left
:
0px
;
}
.controls
{
display
:
block
;
height
:
14px
;
width
:
300px
;
z-index
:
100
;
position
:
absolute
;
bottom
:
0px
;
left
:
50%
;
margin-left
:
-150px
;
.drag-track
{
display
:
block
;
position
:
absolute
;
left
:
12px
;
height
:
10px
;
width
:
276px
;
background
:
url('onion_skin_sprites.gif')
-4px
-20px
repeat-x
;
}
.dragger
{
display
:
block
;
position
:
absolute
;
left
:
0px
;
top
:
0px
;
height
:
14px
;
width
:
14px
;
background
:
url('onion_skin_sprites.gif')
0px
-34px
repeat-x
;
cursor
:
pointer
;
}
.transparent
{
display
:
block
;
position
:
absolute
;
top
:
2px
;
right
:
0px
;
height
:
10px
;
width
:
10px
;
background
:
url('onion_skin_sprites.gif')
-2px
0px
no-repeat
;
}
.opaque
{
display
:
block
;
position
:
absolute
;
top
:
2px
;
left
:
0px
;
height
:
10px
;
width
:
10px
;
background
:
url('onion_skin_sprites.gif')
-2px
-10px
no-repeat
;
}
}
}
//.view.onion-skin
}
.view-modes
{
padding
:
10px
;
text-align
:
center
;
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
30
,
color-stop
(
0
.066
,
#eee
)
,
to
(
#dfdfdf
));
background-image
:
-webkit-linear-gradient
(
#eee
6
.6%
,
#dfdfdf
);
background-image
:
-moz-linear-gradient
(
#eee
6
.6%
,
#dfdfdf
);
background-image
:
-ms-linear-gradient
(
#eee
6
.6%
,
#dfdfdf
);
background-image
:
-o-linear-gradient
(
#eee
6
.6%
,
#dfdfdf
);
ul
,
li
{
list-style
:
none
;
margin
:
0
;
padding
:
0
;
display
:
inline-block
;
}
li
{
color
:
grey
;
border-left
:
1px
solid
#c1c1c1
;
padding
:
0
12px
0
16px
;
cursor
:
pointer
;
&
:first-child
{
border-left
:
none
;
}
&
:hover
{
text-decoration
:
underline
;
}
&
.active
{
&
:hover
{
text-decoration
:
none
;
}
cursor
:
default
;
color
:
#333
;
}
&
.disabled
{
display
:
none
;
}
}
}
}
/** COMMIT BLOCK **/
.commit-title
{
display
:
block
;
...
...
app/assets/stylesheets/sections/diff.scss
0 → 100644
View file @
ac98d74a
.diff-file
{
border
:
1px
solid
#CCC
;
margin-bottom
:
1em
;
.diff-header
{
@extend
.clearfix
;
background
:
#DDD
;
border-bottom
:
1px
solid
#CCC
;
padding
:
5px
5px
5px
10px
;
color
:
#555
;
>
span
{
font-family
:
$monospace_font
;
font-size
:
14px
;
line-height
:
2
;
}
.diff-btn-group
{
float
:
right
;
.btn
{
background-color
:
#EEE
;
color
:
#666
;
font-weight
:
bolder
;
}
}
.commit-short-id
{
font-family
:
$monospace_font
;
font-size
:
smaller
;
}
.file-mode
{
font-family
:
$monospace_font
;
}
}
.diff-content
{
overflow
:
auto
;
overflow-y
:
hidden
;
background
:
#FFF
;
color
:
#333
;
font-size
:
12px
;
.old
{
span
.idiff
{
background-color
:
#FAA
;
}
}
.new
{
span
.idiff
{
background-color
:
#AFA
;
}
}
table
{
width
:
100%
;
font-family
:
$monospace_font
;
border
:
none
;
margin
:
0px
;
padding
:
0px
;
td
{
line-height
:
18px
;
font-size
:
12px
;
}
}
.old_line
,
.new_line
,
.diff_line
{
margin
:
0px
;
padding
:
0px
;
border
:
none
;
background
:
#EEE
;
color
:
#666
;
padding
:
0px
5px
;
border-right
:
1px
solid
#ccc
;
text-align
:
right
;
min-width
:
35px
;
max-width
:
50px
;
width
:
35px
;
@include
user-select
(
none
);
a
{
float
:
left
;
width
:
35px
;
font-weight
:
normal
;
color
:
#666
;
&
:hover
{
text-decoration
:
underline
;
}
}
&
.new
{
background
:
#CFD
;
}
&
.old
{
background
:
#FDD
;
}
}
.diff_line
{
padding
:
0
;
}
.line_holder
{
&
.old
.old_line
,
&
.old
.new_line
{
background
:
#FCC
;
border-color
:
#E7BABA
;
}
&
.new
.old_line
,
&
.new
.new_line
{
background
:
#CFC
;
border-color
:
#B9ECB9
;
}
}
.line_content
{
display
:
block
;
white-space
:
pre
;
height
:
18px
;
margin
:
0px
;
padding
:
0px
0
.5em
;
border
:
none
;
&
.new
{
background
:
#CFD
;
}
&
.old
{
background
:
#FDD
;
}
&
.matched
{
color
:
#ccc
;
background
:
#fafafa
;
}
&
.parallel
{
display
:
table-cell
;
overflow
:
hidden
;
width
:
50%
;
}
}
}
.image
{
background
:
#ddd
;
text-align
:
center
;
padding
:
30px
;
.wrap
{
display
:
inline-block
;
}
.frame
{
display
:
inline-block
;
background-color
:
#fff
;
line-height
:
0
;
img
{
border
:
1px
solid
#FFF
;
background
:
url('trans_bg.gif')
;
max-width
:
100%
;
}
&
.deleted
{
border
:
1px
solid
$deleted
;
}
&
.added
{
border
:
1px
solid
$added
;
}
}
.image-info
{
font-size
:
12px
;
margin
:
5px
0
0
0
;
color
:
grey
;
}
.view.swipe
{
position
:
relative
;
.swipe-frame
{
display
:
block
;
margin
:
auto
;
position
:
relative
;
}
.swipe-wrap
{
overflow
:
hidden
;
border-left
:
1px
solid
#999
;
position
:
absolute
;
display
:
block
;
top
:
13px
;
right
:
7px
;
}
.frame
{
top
:
0
;
right
:
0
;
position
:
absolute
;
&
.deleted
{
margin
:
0
;
display
:
block
;
top
:
13px
;
right
:
7px
;
}
}
.swipe-bar
{
display
:
block
;
height
:
100%
;
width
:
15px
;
z-index
:
100
;
position
:
absolute
;
cursor
:
pointer
;
&
:hover
{
.top-handle
{
background-position
:
-15px
3px
;
}
.bottom-handle
{
background-position
:
-15px
-11px
;
}
};
.top-handle
{
display
:
block
;
height
:
14px
;
width
:
15px
;
position
:
absolute
;
top
:
0px
;
background
:
url('swipemode_sprites.gif')
0
3px
no-repeat
;
}
.bottom-handle
{
display
:
block
;
height
:
14px
;
width
:
15px
;
position
:
absolute
;
bottom
:
0px
;
background
:
url('swipemode_sprites.gif')
0
-11px
no-repeat
;
}
}
}
//.view.swipe
.view.onion-skin
{
.onion-skin-frame
{
display
:
block
;
margin
:
auto
;
position
:
relative
;
}
.frame.added
,
.frame.deleted
{
position
:
absolute
;
display
:
block
;
top
:
0px
;
left
:
0px
;
}
.controls
{
display
:
block
;
height
:
14px
;
width
:
300px
;
z-index
:
100
;
position
:
absolute
;
bottom
:
0px
;
left
:
50%
;
margin-left
:
-150px
;
.drag-track
{
display
:
block
;
position
:
absolute
;
left
:
12px
;
height
:
10px
;
width
:
276px
;
background
:
url('onion_skin_sprites.gif')
-4px
-20px
repeat-x
;
}
.dragger
{
display
:
block
;
position
:
absolute
;
left
:
0px
;
top
:
0px
;
height
:
14px
;
width
:
14px
;
background
:
url('onion_skin_sprites.gif')
0px
-34px
repeat-x
;
cursor
:
pointer
;
}
.transparent
{
display
:
block
;
position
:
absolute
;
top
:
2px
;
right
:
0px
;
height
:
10px
;
width
:
10px
;
background
:
url('onion_skin_sprites.gif')
-2px
0px
no-repeat
;
}
.opaque
{
display
:
block
;
position
:
absolute
;
top
:
2px
;
left
:
0px
;
height
:
10px
;
width
:
10px
;
background
:
url('onion_skin_sprites.gif')
-2px
-10px
no-repeat
;
}
}
}
//.view.onion-skin
}
.view-modes
{
padding
:
10px
;
text-align
:
center
;
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
30
,
color-stop
(
0
.066
,
#eee
)
,
to
(
#dfdfdf
));
background-image
:
-webkit-linear-gradient
(
#eee
6
.6%
,
#dfdfdf
);
background-image
:
-moz-linear-gradient
(
#eee
6
.6%
,
#dfdfdf
);
background-image
:
-ms-linear-gradient
(
#eee
6
.6%
,
#dfdfdf
);
background-image
:
-o-linear-gradient
(
#eee
6
.6%
,
#dfdfdf
);
ul
,
li
{
list-style
:
none
;
margin
:
0
;
padding
:
0
;
display
:
inline-block
;
}
li
{
color
:
grey
;
border-left
:
1px
solid
#c1c1c1
;
padding
:
0
12px
0
16px
;
cursor
:
pointer
;
&
:first-child
{
border-left
:
none
;
}
&
:hover
{
text-decoration
:
underline
;
}
&
.active
{
&
:hover
{
text-decoration
:
none
;
}
cursor
:
default
;
color
:
#333
;
}
&
.disabled
{
display
:
none
;
}
}
}
}
app/assets/stylesheets/sections/notes.scss
View file @
ac98d74a
...
...
@@ -47,13 +47,13 @@ ul.notes {
.discussion-body
{
margin-left
:
50px
;
.file
,
.
diff-
file
,
.discussion-hidden
,
.notes
{
@extend
.borders
;
background-color
:
#F9F9F9
;
}
.file
.notes
{
.
diff-
file
.notes
{
/* reset */
background
:
inherit
;
border
:
none
;
...
...
@@ -114,7 +114,7 @@ ul.notes {
}
}
.file
.notes_holder
{
.
diff-
file
.notes_holder
{
font-size
:
13px
;
line-height
:
18px
;
font-family
:
"Helvetica Neue"
,
Helvetica
,
Arial
,
sans-serif
;
...
...
@@ -184,7 +184,7 @@ ul.notes {
}
}
}
.file
.note
.note-actions
{
.
diff-
file
.note
.note-actions
{
right
:
0
;
top
:
0
;
}
...
...
@@ -195,7 +195,7 @@ ul.notes {
* Line note button on the side of diffs
*/
.file
tr
.line_holder
{
.
diff-
file
tr
.line_holder
{
.add-diff-note
{
background
:
url("diff_note_add.png")
no-repeat
left
0
;
height
:
22px
;
...
...
@@ -235,22 +235,25 @@ ul.notes {
.reply-btn
{
@extend
.btn-primary
;
}
.file
.content
tr
.line_holder
:hover
{
&
>
td
.line_content
{
background
:
$hover
!
important
;
border-color
:
darken
(
$hover
,
10%
)
!
important
;
.diff-file
.diff-content
{
tr
.line_holder
:hover
{
&
>
td
.line_content
{
background
:
$hover
!
important
;
border-color
:
darken
(
$hover
,
10%
)
!
important
;
}
&
>
td
.new_line
,
&
>
td
.old_line
{
background
:
darken
(
$hover
,
4%
)
!
important
;
border-color
:
darken
(
$hover
,
10%
)
!
important
;
}
}
&
>
td
.new_line
,
&
>
td
.old_line
{
background
:
darken
(
$hover
,
4%
)
!
important
;
border-color
:
darken
(
$hover
,
10%
)
!
important
;
tr
.line_holder
:hover
>
td
.line_note_link
{
opacity
:
1
.0
;
filter
:
alpha
(
opacity
=
100
)
;
}
}
.file
.content
tr
.line_holder
:hover
>
td
.line_note_link
{
opacity
:
1
.0
;
filter
:
alpha
(
opacity
=
100
);
}
.file
,
.diff-file
,
.discussion
{
.new_note
{
margin
:
0
;
...
...
app/views/projects/commits/_diffs.html.haml
View file @
ac98d74a
...
...
@@ -44,8 +44,8 @@
-
file
=
project
.
repository
.
blob_at
(
@commit
.
id
,
diff
.
new_path
)
-
file
=
project
.
repository
.
blob_at
(
@commit
.
parent_id
,
diff
.
old_path
)
unless
file
-
next
unless
file
.file
{
id:
"diff-#{i}"
}
.header
.
diff-
file
{
id:
"diff-#{i}"
}
.
diff-
header
-
if
diff
.
deleted_file
%span
=
diff
.
old_path
...
...
@@ -70,7 +70,7 @@
%span
.commit-short-id
=
@commit
.
short_id
(
6
)
.content
.
diff-
content
-# Skipp all non non-supported blobs
-
next
unless
file
.
respond_to?
(
'text?'
)
-
if
file
.
text?
...
...
app/views/projects/notes/_discussion.html.haml
View file @
ac98d74a
...
...
@@ -36,21 +36,17 @@
.discussion-body
-
if
note
.
for_diff_line?
-
if
note
.
active?
.content
.file
=
render
"projects/notes/discussion_diff"
,
discussion_notes:
discussion_notes
,
note:
note
=
render
"projects/notes/discussion_diff"
,
discussion_notes:
discussion_notes
,
note:
note
-
else
=
link_to
'show outdated discussion'
,
'#'
,
class:
'js-show-outdated-discussion'
%div
.hide.outdated-discussion
.content
.notes
{
rel:
discussion_notes
.
first
.
discussion_id
}
=
render
discussion_notes
.notes
{
rel:
discussion_notes
.
first
.
discussion_id
}
=
render
discussion_notes
-
else
.content
.notes
{
rel:
discussion_notes
.
first
.
discussion_id
}
=
render
discussion_notes
=
render
"projects/notes/discussion_reply_button"
,
note:
discussion_notes
.
first
.notes
{
rel:
discussion_notes
.
first
.
discussion_id
}
=
render
discussion_notes
=
render
"projects/notes/discussion_reply_button"
,
note:
discussion_notes
.
first
-# will be shown when the other one is hidden
.discussion-hidden.content.hide
...
...
@@ -59,4 +55,3 @@
=
link_to
"javascript:;"
,
class:
"js-details-target js-toggler-target"
do
%i
.icon-eye-open
Show
app/views/projects/notes/_discussion_diff.html.haml
View file @
ac98d74a
-
diff
=
note
.
diff
.header
-
if
diff
.
deleted_file
%span
=
diff
.
old_path
-
else
%span
=
diff
.
new_path
-
if
diff
.
a_mode
&&
diff
.
b_mode
&&
diff
.
a_mode
!=
diff
.
b_mode
%span
.file-mode
=
"
#{
diff
.
a_mode
}
→
#{
diff
.
b_mode
}
"
%br
/
.content
%table
-
each_diff_line_near
(
diff
,
note
.
diff_file_index
,
note
.
line_code
)
do
|
line
,
type
,
line_code
,
line_new
,
line_old
|
%tr
.line_holder
{
id:
line_code
}
-
if
type
==
"match"
%td
.old_line
=
"..."
%td
.new_line
=
"..."
%td
.line_content.matched
=
line
-
else
%td
.old_line
=
raw
(
type
==
"new"
?
" "
:
line_old
)
%td
.new_line
=
raw
(
type
==
"old"
?
" "
:
line_new
)
%td
.line_content
{
class:
"noteable_line #{type} #{line_code}"
,
"line_code"
=>
line_code
}=
raw
"
#{
line
}
"
.diff-file
.diff-header
-
if
diff
.
deleted_file
%span
=
diff
.
old_path
-
else
%span
=
diff
.
new_path
-
if
diff
.
a_mode
&&
diff
.
b_mode
&&
diff
.
a_mode
!=
diff
.
b_mode
%span
.file-mode
=
"
#{
diff
.
a_mode
}
→
#{
diff
.
b_mode
}
"
%br
/
.diff-content
%table
-
each_diff_line_near
(
diff
,
note
.
diff_file_index
,
note
.
line_code
)
do
|
line
,
type
,
line_code
,
line_new
,
line_old
|
%tr
.line_holder
{
id:
line_code
}
-
if
type
==
"match"
%td
.old_line
=
"..."
%td
.new_line
=
"..."
%td
.line_content.matched
=
line
-
else
%td
.old_line
=
raw
(
type
==
"new"
?
" "
:
line_old
)
%td
.new_line
=
raw
(
type
==
"old"
?
" "
:
line_new
)
%td
.line_content
{
class:
"noteable_line #{type} #{line_code}"
,
"line_code"
=>
line_code
}=
raw
"
#{
line
}
"
-
if
line_code
==
note
.
line_code
=
render
"projects/notes/diff_notes_with_reply"
,
notes:
discussion_notes
-
if
line_code
==
note
.
line_code
=
render
"projects/notes/diff_notes_with_reply"
,
notes:
discussion_notes
features/steps/shared/diff_note.rb
View file @
ac98d74a
...
...
@@ -2,7 +2,7 @@ module SharedDiffNote
include
Spinach
::
DSL
Given
'I cancel the diff comment'
do
within
(
".file"
)
do
within
(
".
diff-
file"
)
do
find
(
".js-close-discussion-note-form"
).
click
end
end
...
...
@@ -13,14 +13,14 @@ module SharedDiffNote
end
Given
'I haven\'t written any diff comment text'
do
within
(
".file"
)
do
within
(
".
diff-
file"
)
do
fill_in
"note[note]"
,
with:
""
end
end
Given
'I leave a diff comment like "Typo, please fix"'
do
find
(
'a[data-line-code="586fb7c4e1add2d4d24e27566ed7064680098646_29_14"]'
).
click
within
(
".file form[rel$='586fb7c4e1add2d4d24e27566ed7064680098646_29_14']"
)
do
within
(
".
diff-
file form[rel$='586fb7c4e1add2d4d24e27566ed7064680098646_29_14']"
)
do
fill_in
"note[note]"
,
with:
"Typo, please fix"
find
(
".js-comment-button"
).
trigger
(
"click"
)
sleep
0.05
...
...
@@ -29,7 +29,7 @@ module SharedDiffNote
Given
'I preview a diff comment text like "Should fix it :smile:"'
do
find
(
'a[data-line-code="586fb7c4e1add2d4d24e27566ed7064680098646_29_14"]'
).
click
within
(
".file form[rel$='586fb7c4e1add2d4d24e27566ed7064680098646_29_14']"
)
do
within
(
".
diff-
file form[rel$='586fb7c4e1add2d4d24e27566ed7064680098646_29_14']"
)
do
fill_in
"note[note]"
,
with:
"Should fix it :smile:"
find
(
".js-note-preview-button"
).
trigger
(
"click"
)
end
...
...
@@ -38,7 +38,7 @@ module SharedDiffNote
Given
'I preview another diff comment text like "DRY this up"'
do
find
(
'a[data-line-code="586fb7c4e1add2d4d24e27566ed7064680098646_57_41"]'
).
click
within
(
".file form[rel$='586fb7c4e1add2d4d24e27566ed7064680098646_57_41']"
)
do
within
(
".
diff-
file form[rel$='586fb7c4e1add2d4d24e27566ed7064680098646_57_41']"
)
do
fill_in
"note[note]"
,
with:
"DRY this up"
find
(
".js-note-preview-button"
).
trigger
(
"click"
)
end
...
...
@@ -53,13 +53,13 @@ module SharedDiffNote
end
Given
'I write a diff comment like ":-1: I don\'t like this"'
do
within
(
".file"
)
do
within
(
".
diff-
file"
)
do
fill_in
"note[note]"
,
with:
":-1: I don
\'
t like this"
end
end
Given
'I submit the diff comment'
do
within
(
".file"
)
do
within
(
".
diff-
file"
)
do
click_button
(
"Add Comment"
)
end
end
...
...
@@ -67,49 +67,49 @@ module SharedDiffNote
Then
'I should not see the diff comment form'
do
within
(
".file"
)
do
within
(
".
diff-
file"
)
do
page
.
should_not
have_css
(
"form.new_note"
)
end
end
Then
'I should not see the diff comment preview button'
do
within
(
".file"
)
do
within
(
".
diff-
file"
)
do
page
.
should
have_css
(
".js-note-preview-button"
,
visible:
false
)
end
end
Then
'I should not see the diff comment text field'
do
within
(
".file"
)
do
within
(
".
diff-
file"
)
do
page
.
should
have_css
(
".js-note-text"
,
visible:
false
)
end
end
Then
'I should only see one diff form'
do
within
(
".file"
)
do
within
(
".
diff-
file"
)
do
page
.
should
have_css
(
"form.new_note"
,
count:
1
)
end
end
Then
'I should see a diff comment form with ":-1: I don\'t like this"'
do
within
(
".file"
)
do
within
(
".
diff-
file"
)
do
page
.
should
have_field
(
"note[note]"
,
with:
":-1: I don
\'
t like this"
)
end
end
Then
'I should see a diff comment saying "Typo, please fix"'
do
within
(
".file .note"
)
do
within
(
".
diff-
file .note"
)
do
page
.
should
have_content
(
"Typo, please fix"
)
end
end
Then
'I should see a discussion reply button'
do
within
(
".file"
)
do
within
(
".
diff-
file"
)
do
page
.
should
have_link
(
"Reply"
)
end
end
Then
'I should see a temporary diff comment form'
do
within
(
".file"
)
do
within
(
".
diff-
file"
)
do
page
.
should
have_css
(
".js-temp-notes-holder form.new_note"
)
end
end
...
...
@@ -119,37 +119,37 @@ module SharedDiffNote
end
Then
'I should see an empty diff comment form'
do
within
(
".file"
)
do
within
(
".
diff-
file"
)
do
page
.
should
have_field
(
"note[note]"
,
with:
""
)
end
end
Then
'I should see the cancel comment button'
do
within
(
".file form"
)
do
within
(
".
diff-
file form"
)
do
page
.
should
have_css
(
".js-close-discussion-note-form"
,
text:
"Cancel"
)
end
end
Then
'I should see the diff comment preview'
do
within
(
".file form"
)
do
within
(
".
diff-
file form"
)
do
page
.
should
have_css
(
".js-note-preview"
,
visible:
false
)
end
end
Then
'I should see the diff comment edit button'
do
within
(
".file"
)
do
within
(
".
diff-
file"
)
do
page
.
should
have_css
(
".js-note-edit-button"
,
visible:
true
)
end
end
Then
'I should see the diff comment preview button'
do
within
(
".file"
)
do
within
(
".
diff-
file"
)
do
page
.
should
have_css
(
".js-note-preview-button"
,
visible:
true
)
end
end
Then
'I should see two separate previews'
do
within
(
".file"
)
do
within
(
".
diff-
file"
)
do
page
.
should
have_css
(
".js-note-preview"
,
visible:
true
,
count:
2
)
page
.
should
have_content
(
"Should fix it"
)
page
.
should
have_content
(
"DRY this up"
)
...
...
spec/features/notes_on_merge_requests_spec.rb
View file @
ac98d74a
...
...
@@ -166,7 +166,7 @@ describe "On a merge request diff", js: true, focus: true do
end
it
"should be removed when canceled"
do
within
(
".file form[rel$='4735dfc552ad7bf15ca468adc3cad9d05b624490_172_185']"
)
do
within
(
".
diff-
file form[rel$='4735dfc552ad7bf15ca468adc3cad9d05b624490_172_185']"
)
do
find
(
".js-close-discussion-note-form"
).
trigger
(
"click"
)
end
...
...
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