mirror of
https://github.com/hkalexling/Mango.git
synced 2025-08-02 10:55:30 -04:00
Use BigInt when sorting filenames (#22)
This commit is contained in:
parent
1a0c3d81ce
commit
d58c83fbd8
@ -25,4 +25,12 @@ describe "compare_alphanumerically" do
|
||||
compare_alphanumerically a, b
|
||||
}.should eq ary
|
||||
end
|
||||
|
||||
# https://github.com/hkalexling/Mango/issues/22
|
||||
it "handles numbers larger than Int32" do
|
||||
ary = ["14410155591588.jpg", "21410155591588.png", "104410155591588.jpg"]
|
||||
ary.reverse.sort {|a, b|
|
||||
compare_alphanumerically a, b
|
||||
}.should eq ary
|
||||
end
|
||||
end
|
||||
|
@ -1,3 +1,5 @@
|
||||
require "big"
|
||||
|
||||
IMGS_PER_PAGE = 5
|
||||
|
||||
macro layout(name)
|
||||
@ -56,7 +58,7 @@ def compare_alphanumerically(c, d)
|
||||
return -1 if a.nil?
|
||||
return 1 if b.nil?
|
||||
if is_numeric(a) && is_numeric(b)
|
||||
compare = a.to_i <=> b.to_i
|
||||
compare = a.to_big_i <=> b.to_big_i
|
||||
return compare if compare != 0
|
||||
else
|
||||
compare = a <=> b
|
||||
|
Loading…
x
Reference in New Issue
Block a user