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
ce869e39
Commit
ce869e39
authored
May 30, 2017
by
Douwe Maan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix Diff#too_large? and specs
parent
d9461314
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
25 additions
and
53 deletions
+25
-53
lib/gitlab/git/diff.rb
lib/gitlab/git/diff.rb
+5
-3
spec/helpers/blob_helper_spec.rb
spec/helpers/blob_helper_spec.rb
+9
-11
spec/lib/gitlab/git/diff_spec.rb
spec/lib/gitlab/git/diff_spec.rb
+7
-7
spec/models/blob_viewer/base_spec.rb
spec/models/blob_viewer/base_spec.rb
+4
-32
No files found.
lib/gitlab/git/diff.rb
View file @
ce869e39
...
...
@@ -230,9 +230,11 @@ module Gitlab
end
def
too_large?
return
@too_large
if
defined?
(
@too_large
)
@too_large
=
@diff
.
bytesize
>=
SIZE_LIMIT
if
@too_large
.
nil?
@too_large
=
@diff
.
bytesize
>=
SIZE_LIMIT
else
@too_large
end
end
def
too_large!
...
...
spec/helpers/blob_helper_spec.rb
View file @
ce869e39
...
...
@@ -168,21 +168,19 @@ describe BlobHelper do
controller
.
params
[
:id
]
=
File
.
join
(
'master'
,
blob
.
path
)
end
context
'for error :too_large'
do
context
'when the size limit can be overridden'
do
let
(
:blob
)
{
fake_blob
(
size:
2
.
megabytes
)
}
context
'for error :collapsed'
do
let
(
:blob
)
{
fake_blob
(
size:
2
.
megabytes
)
}
it
'includes a "load it anyway" link'
do
expect
(
helper
.
blob_render_error_options
(
viewer
)).
to
include
(
/load it anyway/
)
end
it
'includes a "load it anyway" link'
do
expect
(
helper
.
blob_render_error_options
(
viewer
)).
to
include
(
/load it anyway/
)
end
end
context
'when the size limit cannot be overridden
'
do
let
(
:blob
)
{
fake_blob
(
size:
10
.
megabytes
)
}
context
'for error :too_large
'
do
let
(
:blob
)
{
fake_blob
(
size:
10
.
megabytes
)
}
it
'does not include a "load it anyway" link'
do
expect
(
helper
.
blob_render_error_options
(
viewer
)).
not_to
include
(
/load it anyway/
)
end
it
'does not include a "load it anyway" link'
do
expect
(
helper
.
blob_render_error_options
(
viewer
)).
not_to
include
(
/load it anyway/
)
end
context
'when the viewer is rich'
do
...
...
spec/lib/gitlab/git/diff_spec.rb
View file @
ce869e39
...
...
@@ -85,12 +85,12 @@ EOT
# The patch total size is 200, with lines between 21 and 54.
# This is a quick-and-dirty way to test this. Ideally, a new patch is
# added to the test repo with a size that falls between the real limits.
stub_const
(
"
#{
described_class
}
::
MAX_SIZE
"
,
150
)
stub_const
(
"
#{
described_class
}
::
OVERRIDABLE_MAX_SIZE
"
,
100
)
stub_const
(
"
#{
described_class
}
::
SIZE_LIMIT
"
,
150
)
stub_const
(
"
#{
described_class
}
::
COLLAPSE_LIMIT
"
,
100
)
end
it
'prunes the diff as a large diff instead of as a collapsed diff'
do
diff
=
described_class
.
new
(
@rugged_diff
,
collapse:
tru
e
)
diff
=
described_class
.
new
(
@rugged_diff
,
expanded:
fals
e
)
expect
(
diff
.
diff
).
to
be_empty
expect
(
diff
).
to
be_too_large
...
...
@@ -299,15 +299,15 @@ EOT
describe
'#collapsed?'
do
it
'returns true for a diff that is quite large'
do
diff
=
described_class
.
new
(
diff:
'a'
*
20480
)
diff
=
described_class
.
new
(
{
diff:
'a'
*
20480
},
expanded:
false
)
expect
(
diff
).
to
be_collaps
ible
expect
(
diff
).
to
be_collaps
ed
end
it
'returns false for a diff that is small enough'
do
diff
=
described_class
.
new
(
diff:
'a'
)
diff
=
described_class
.
new
(
{
diff:
'a'
},
expanded:
false
)
expect
(
diff
).
not_to
be_collaps
ible
expect
(
diff
).
not_to
be_collaps
ed
end
end
...
...
spec/models/blob_viewer/base_spec.rb
View file @
ce869e39
...
...
@@ -105,36 +105,8 @@ describe BlobViewer::Base, model: true do
end
end
describe
'#can_expanded?'
do
context
'when the blob size is larger than the collapse limit'
do
context
'when the blob size is larger than the size limit'
do
let
(
:blob
)
{
fake_blob
(
path:
'file.pdf'
,
size:
10
.
megabytes
)
}
it
'returns false'
do
expect
(
viewer
.
can_expanded?
).
to
be_falsey
end
end
context
'when the blob size is smaller than the size limit'
do
let
(
:blob
)
{
fake_blob
(
path:
'file.pdf'
,
size:
2
.
megabytes
)
}
it
'returns true'
do
expect
(
viewer
.
can_expanded?
).
to
be_truthy
end
end
end
context
'when the blob size is smaller than the collapse limit'
do
let
(
:blob
)
{
fake_blob
(
path:
'file.pdf'
,
size:
10
.
kilobytes
)
}
it
'returns false'
do
expect
(
viewer
.
can_expanded?
).
to
be_falsey
end
end
end
describe
'#render_error'
do
context
'when
the size limit is overridden
'
do
context
'when
expanded
'
do
before
do
viewer
.
expanded
=
true
end
...
...
@@ -156,12 +128,12 @@ describe BlobViewer::Base, model: true do
end
end
context
'when
the size limit is not overridden
'
do
context
'when
not expanded
'
do
context
'when the blob size is larger than the collapse limit'
do
let
(
:blob
)
{
fake_blob
(
path:
'file.pdf'
,
size:
2
.
megabytes
)
}
it
'returns :
too_large
'
do
expect
(
viewer
.
render_error
).
to
eq
(
:
too_large
)
it
'returns :
collapsed
'
do
expect
(
viewer
.
render_error
).
to
eq
(
:
collapsed
)
end
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