|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The hypothesis library is awesome, and with it I found many holes in the
natsort code that would have been difficult to find.
This required rewriting most tests, and also creating two alternate
number splitting functions for use in programmatically ensuring that
numbers are split properly.
Additionally, these tests found holes in the fastnumbers library, and
fastnumbers was updated to account for these holes. natsort has been updated
with new options and capabilities added to fastnumbers in this update.
natsort now will only use the fastnumbers library if it is version 0.5.0
or greater. The new "num_only" option to fastnumbers check is used. The
fake_fastnumbers code has been updated to better simulate the
fastnumbers library.
All number searching regular expressions have been updated to locate
single unicode numeric characters like fastnumbers >= 0.5.0, and the
fake_fastnumbers functions have been updated to support these
characters.
Many bugs have been fixed that were caught with hypothesis, including:
- Using casefold() versus lower() on Python >= 3.3.
- If an empty string was passed to UNGROUPLETTERS with LOCALE, an
IndexError was raised; This has been fixed.
- Extended the library of Unicode numerals that natsort is aware of.
Because a programmatic search of these numbers would create costly
imports, these values have been hard-coded in the unicode_numbers
module. Previously not all numerals were known to natsort.
- Fixed potential hard-to-find bug in the GROUPLETTERS option when
letters that when case-folded contain two characters, not one, and
the second character was dropped.
|