diff options
| -rw-r--r-- | lib/finance.js | 15 | ||||
| -rw-r--r-- | lib/random.js | 9 | ||||
| -rw-r--r-- | test/finance.unit.js | 8 |
3 files changed, 32 insertions, 0 deletions
diff --git a/lib/finance.js b/lib/finance.js index 9b478573..6083e64b 100644 --- a/lib/finance.js +++ b/lib/finance.js @@ -134,6 +134,21 @@ var Finance = function (faker) { } return symbol; } + + /** + * bitcoinAddress + * + * @method faker.finance.bitcoinAddress + */ + self.bitcoinAddress = function () { + var addressLength = Math.floor(Math.random() * (36 - 27 + 1)) + 27; + var address = faker.random.arrayElement(['1', '3']); + + for (var i = 0; i < addressLength - 1; i++) + address += faker.random.alphaNumeric().toUpperCase(); + + return address; + } } module['exports'] = Finance; diff --git a/lib/random.js b/lib/random.js index b152ddbd..d3cbf3ea 100644 --- a/lib/random.js +++ b/lib/random.js @@ -189,6 +189,15 @@ function Random (faker, seed) { return faker.random.arrayElement(Object.keys(faker.locales)); }; + /** + * alphaNumeric + * + * @method faker.random.alphaNumeric + */ + this.alphaNumeric = function alphaNumeric() { + return faker.random.arrayElement(["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]); + } + return this; } diff --git a/test/finance.unit.js b/test/finance.unit.js index ceb15244..6bbb51c6 100644 --- a/test/finance.unit.js +++ b/test/finance.unit.js @@ -202,4 +202,12 @@ describe('finance.js', function () { assert.ok(currencyCode.match(/[A-Z]{3}/)); }); }) + + describe("bitcoinAddress()", function(){ + it("returns a random bitcoin address", function(){ + var bitcoinAddress = faker.finance.bitcoinAddress(); + + assert.ok(bitcoinAddress.match(/^[A-Z0-9.]{27,34}$/)); + }); + }); });
\ No newline at end of file |
