mirror of
https://github.com/athityakumar/colorls.git
synced 2024-09-19 05:31:23 +02:00
Merge pull request #622 from ayushpoddar/fix/rounding-large-files
Fix: rounding large files
This commit is contained in:
commit
9914606311
5 changed files with 13 additions and 5 deletions
|
@ -72,7 +72,7 @@ Gem::Specification.new do |spec|
|
||||||
spec.add_development_dependency 'diffy', '3.4.2'
|
spec.add_development_dependency 'diffy', '3.4.2'
|
||||||
spec.add_development_dependency 'rake', '~> 13'
|
spec.add_development_dependency 'rake', '~> 13'
|
||||||
spec.add_development_dependency 'rdoc', '~> 6.1'
|
spec.add_development_dependency 'rdoc', '~> 6.1'
|
||||||
spec.add_development_dependency 'ronn', '~> 0'
|
spec.add_development_dependency 'ronn-ng', '~> 0'
|
||||||
spec.add_development_dependency 'rspec', '~> 3.7'
|
spec.add_development_dependency 'rspec', '~> 3.7'
|
||||||
spec.add_development_dependency 'rspec-its', '~> 1.2'
|
spec.add_development_dependency 'rspec-its', '~> 1.2'
|
||||||
spec.add_development_dependency 'rubocop', '~> 1.50.1'
|
spec.add_development_dependency 'rubocop', '~> 1.50.1'
|
||||||
|
|
|
@ -260,7 +260,7 @@ module ColorLS
|
||||||
|
|
||||||
def size_info(filesize)
|
def size_info(filesize)
|
||||||
filesize = Filesize.new(filesize)
|
filesize = Filesize.new(filesize)
|
||||||
size = @show_human_readable_size ? filesize.pretty : filesize.to_s
|
size = @show_human_readable_size ? filesize.pretty(precision: 0) : filesize.to_s('B', precision: 0)
|
||||||
size = size.split
|
size = size.split
|
||||||
size = justify_size_info(size)
|
size = justify_size_info(size)
|
||||||
return size.colorize(@colors[:file_large]) if filesize >= 512 * (1024 ** 2)
|
return size.colorize(@colors[:file_large]) if filesize >= 512 * (1024 ** 2)
|
||||||
|
@ -280,7 +280,7 @@ module ColorLS
|
||||||
end
|
end
|
||||||
|
|
||||||
def justify_size_info(size)
|
def justify_size_info(size)
|
||||||
size_num = size[0][0..-4].rjust(chars_for_size, ' ')
|
size_num = size[0].rjust(chars_for_size, ' ')
|
||||||
size_unit = @show_human_readable_size ? size[1].ljust(3, ' ') : size[1]
|
size_unit = @show_human_readable_size ? size[1].ljust(3, ' ') : size[1]
|
||||||
"#{size_num} #{size_unit}"
|
"#{size_num} #{size_unit}"
|
||||||
end
|
end
|
||||||
|
|
|
@ -65,7 +65,7 @@ RSpec.describe ColorLS::Flags do
|
||||||
it 'displays multiple files per line' do
|
it 'displays multiple files per line' do
|
||||||
allow($stdout).to receive(:tty?).and_return(true)
|
allow($stdout).to receive(:tty?).and_return(true)
|
||||||
|
|
||||||
expect { subject }.not_to output(/(.*\n){4}/).to_stdout
|
expect { subject }.not_to output(/(.*\n){7}/).to_stdout
|
||||||
end
|
end
|
||||||
|
|
||||||
it('does not display ./ or ../') { expect { subject }.not_to output(%r(\.{1,2}/)).to_stdout }
|
it('does not display ./ or ../') { expect { subject }.not_to output(%r(\.{1,2}/)).to_stdout }
|
||||||
|
@ -103,6 +103,14 @@ RSpec.describe ColorLS::Flags do
|
||||||
let(:args) { ['--long', FIXTURES] }
|
let(:args) { ['--long', FIXTURES] }
|
||||||
|
|
||||||
it('lists file info') { expect { subject }.to output(/((r|-).*(w|-).*(x|-).*){3}/).to_stdout }
|
it('lists file info') { expect { subject }.to output(/((r|-).*(w|-).*(x|-).*){3}/).to_stdout }
|
||||||
|
|
||||||
|
it 'rounds up file size to nearest MiB' do
|
||||||
|
expect { subject }.to output(/2 MiB[^\n]* 20kb-less-than-2mb\.txt/).to_stdout
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'rounds down file size to nearest MiB' do
|
||||||
|
expect { subject }.to output(/1 MiB[^\n]* 20kb-more-than-1mb\.txt/).to_stdout
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'with --long flag for `a.txt`' do
|
context 'with --long flag for `a.txt`' do
|
||||||
|
@ -347,7 +355,7 @@ RSpec.describe ColorLS::Flags do
|
||||||
let(:args) { ['--report', '--report=long', FIXTURES] }
|
let(:args) { ['--report', '--report=long', FIXTURES] }
|
||||||
|
|
||||||
it 'shows a report with recognized and unrecognized files' do
|
it 'shows a report with recognized and unrecognized files' do
|
||||||
expect { subject }.to output(/Recognized files\s+: 4\n.+Unrecognized files\s+: 3/).to_stdout
|
expect { subject }.to output(/Recognized files\s+: 6\n.+Unrecognized files\s+: 3/).to_stdout
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
BIN
spec/fixtures/20kb-less-than-2mb.txt
vendored
Normal file
BIN
spec/fixtures/20kb-less-than-2mb.txt
vendored
Normal file
Binary file not shown.
BIN
spec/fixtures/20kb-more-than-1mb.txt
vendored
Normal file
BIN
spec/fixtures/20kb-more-than-1mb.txt
vendored
Normal file
Binary file not shown.
Loading…
Reference in a new issue