diff --git a/src/base58.coffee b/src/base58.coffee index 30b2082..eadb6cd 100644 --- a/src/base58.coffee +++ b/src/base58.coffee @@ -4,7 +4,7 @@ class Base58Builder @base = @alphabet.length encode: (num) -> - throw new Error('Value passed is not a number.') if typeof num != 'number' + throw new Error('Value passed is not an integer.') unless /^\d+$/.test num str = '' while num >= @base mod = num % @base diff --git a/test/base58_test.coffee b/test/base58_test.coffee index 6efc829..0dad57f 100644 --- a/test/base58_test.coffee +++ b/test/base58_test.coffee @@ -10,9 +10,15 @@ describe 'Base58', -> for str, num of examples Base58.encode(num).should.eql(str) + describe 'when passed a float', -> + it 'throws an error', -> + (-> Base58.encode(3.14)).should + .throw('Value passed is not an integer.') + describe 'when passed a non-number value', -> it 'throws an error', -> - (-> Base58.encode('hi')).should.throw('Value passed is not a number.') + (-> Base58.encode('hi')).should + .throw('Value passed is not an integer.') describe '.decode', -> it 'decodes Base58 string to number', ->