@@ -1373,7 +1373,8 @@ OC.Util = { | |||
while (x < t.length) { | |||
c = t.charAt(x); | |||
var m = (c === '.' || (c >= '0' && c <= '9')); | |||
// only include the dot in strings | |||
var m = ((!n && c === '.') || (c >= '0' && c <= '9')); | |||
if (m !== n) { | |||
// next chunk | |||
y++; | |||
@@ -1393,6 +1394,7 @@ OC.Util = { | |||
* or 0 if the strings are identical | |||
*/ | |||
naturalSortCompare: function(a, b) { | |||
var x; | |||
var aa = OC.Util._chunkify(a); | |||
var bb = OC.Util._chunkify(b); | |||
@@ -531,10 +531,14 @@ describe('Core base tests', function() { | |||
'za', | |||
'ghi 1.txt', | |||
'ghi 12.txt', | |||
'zz' | |||
'zz', | |||
'15.txt', | |||
'15b.txt' | |||
]; | |||
a.sort(OC.Util.naturalSortCompare); | |||
expect(a).toEqual([ | |||
'15.txt', | |||
'15b.txt', | |||
'123.txt', | |||
'124.txt', | |||
'abc', |
@@ -39,7 +39,8 @@ class NaturalSort { | |||
while ($x < $length) { | |||
$c = $t[$x]; | |||
$m = ($c === '.' || ($c >= '0' && $c <= '9')); | |||
// only include the dot in strings | |||
$m = ((!$n && $c === '.') || ($c >= '0' && $c <= '9')); | |||
if ($m !== $n) { | |||
// next chunk | |||
$y++; |
@@ -74,9 +74,13 @@ class Test_NaturalSort extends PHPUnit_Framework_TestCase { | |||
'ghi 1.txt', | |||
'ghi 12.txt', | |||
'zz', | |||
'15.txt', | |||
'15b.txt', | |||
), | |||
// sorted | |||
array( | |||
'15.txt', | |||
'15b.txt', | |||
'123.txt', | |||
'124.txt', | |||
'abc', |