From df296352d46730b2e79a05506c2e416e5fce2c9d Mon Sep 17 00:00:00 2001 From: Gokulnath Reddy Date: Mon, 19 Jun 2017 22:42:54 +1000 Subject: Generate a hexaDecimal string --- Readme.md | 1 + lib/random.js | 19 +++++++++++++++++++ test/random.unit.js | 14 ++++++++++++++ 3 files changed, 34 insertions(+) diff --git a/Readme.md b/Readme.md index fc23abe5..840d950d 100644 --- a/Readme.md +++ b/Readme.md @@ -215,6 +215,7 @@ This will interpolate the format string with the value of methods `name.lastName * image * locale * alphaNumeric + * hexaDecimal * system * fileName * commonFileName diff --git a/lib/random.js b/lib/random.js index 17b74f64..21151213 100644 --- a/lib/random.js +++ b/lib/random.js @@ -210,6 +210,25 @@ function Random (faker, seed) { return wholeString; }; + /** + * hexaDecimal + * + * @method faker.random.hexaDecimal + * @param {number} count defaults to 1 + */ + this.hexaDecimal = function hexaDecimal(count) { + if (typeof count === "undefined") { + count = 1; + } + + var wholeString = ""; + for(var i = 0; i < count; i++) { + wholeString += faker.random.arrayElement(["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]); + } + + return "0x"+wholeString; + }; + return this; } diff --git a/test/random.unit.js b/test/random.unit.js index 133fd887..d04bf280 100644 --- a/test/random.unit.js +++ b/test/random.unit.js @@ -135,4 +135,18 @@ describe("random.js", function () { assert.ok(alphaNumeric(5).length === 5); }) }) + + describe('hexaDecimal', function() { + var hexaDecimal = faker.random.hexaDecimal; + + it('should generate single hex character when no additional argument was provided', function() { + var hex = hexaDecimal(); + assert.ok(hex.match(/^(0x)[0-9a-f]{1}$/i)); + }) + + it('should generate a random hex string', function() { + var hex = hexaDecimal(5); + assert.ok(hex.match(/^(0x)[0-9a-f]+$/i)); + }) + }) }); -- cgit v1.2.3