Skip to content

Commit

Permalink
Fix ALPHABET regex to allow comma and reject empty string (#249)
Browse files Browse the repository at this point in the history
  • Loading branch information
trbrc authored and MikeMcl committed Nov 10, 2019
1 parent 6d2427a commit affd6b0
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 3 deletions.
4 changes: 2 additions & 2 deletions bignumber.js
Original file line number Diff line number Diff line change
Expand Up @@ -541,9 +541,9 @@
if (obj.hasOwnProperty(p = 'ALPHABET')) {
v = obj[p];

// Disallow if only one character,
// Disallow if less than two characters,
// or if it contains '+', '-', '.', whitespace, or a repeated character.
if (typeof v == 'string' && !/^.$|[+-.\s]|(.).*\1/.test(v)) {
if (typeof v == 'string' && !/^.?$|[+\-.\s]|(.).*\1/.test(v)) {
ALPHABET = v;
} else {
throw Error
Expand Down
8 changes: 7 additions & 1 deletion test/methods/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -219,13 +219,19 @@ Test('config', function () {

BigNumber.config({ALPHABET: '0123456789abcdefghijklmnopqrstuvwxyz'});

tx(function () {BigNumber.config({ALPHABET: ''})}, "ALPHABET: ''");
tx(function () {BigNumber.config({ALPHABET: '1'})}, "ALPHABET: '1'");
tx(function () {BigNumber.config({ALPHABET: 2})}, "ALPHABET: 2");
tx(function () {BigNumber.config({ALPHABET: true})}, "ALPHABET: true");
tx(function () {BigNumber.config({ALPHABET: 'aba'})}, "ALPHABET: 'aba'");
tx(function () {BigNumber.config({ALPHABET: ',.'})}, "ALPHABET: ',.'");
tx(function () {BigNumber.config({ALPHABET: '0.'})}, "ALPHABET: '0.'");
tx(function () {BigNumber.config({ALPHABET: '0-'})}, "ALPHABET: '0-'");
tx(function () {BigNumber.config({ALPHABET: '0+'})}, "ALPHABET: '0+'");
tx(function () {BigNumber.config({ALPHABET: '0123456789.'})}, "ALPHABET: '0123456789.'");

BigNumber.config({ALPHABET: '0,'});
t('0,', BigNumber.config().ALPHABET);

BigNumber.config({ALPHABET: 'xy'});
t('xy', BigNumber.config().ALPHABET);

Expand Down

0 comments on commit affd6b0

Please sign in to comment.