diff options
| author | Marak <[email protected]> | 2017-03-02 15:19:16 -0500 |
|---|---|---|
| committer | GitHub <[email protected]> | 2017-03-02 15:19:16 -0500 |
| commit | 6cdb93efcbcaf222ac061cee5532374f72ea073e (patch) | |
| tree | a4f23c1114abc37c406ea3203a2e28bfc9e050e2 | |
| parent | 8c43fe8f7cf81b60fc77be5510228ec8bd38f9d3 (diff) | |
| parent | 5cf0d78de1c28a9a5cd0217696ca297ff1e126df (diff) | |
| download | faker-6cdb93efcbcaf222ac061cee5532374f72ea073e.tar.xz faker-6cdb93efcbcaf222ac061cee5532374f72ea073e.zip | |
Merge pull request #408 from paolo-tanium/allow-mac-to-specify-separator
[api] Allow user to specify separator to be used in mac address
| -rw-r--r-- | lib/internet.js | 16 | ||||
| -rw-r--r-- | test/internet.unit.js | 18 |
2 files changed, 31 insertions, 3 deletions
diff --git a/lib/internet.js b/lib/internet.js index 0de5ef65..ca33672d 100644 --- a/lib/internet.js +++ b/lib/internet.js @@ -305,13 +305,23 @@ var Internet = function (faker) { * mac * * @method faker.internet.mac + * @param {string} sep */ - self.mac = function(){ - var i, mac = ""; + self.mac = function(sep){ + var i, + mac = "", + validSep = ':'; + + // if the client passed in a different separator than `:`, + // we will use it if it is in the list of acceptable separators (dash or no separator) + if (['-', ''].indexOf(sep) !== -1) { + validSep = sep; + } + for (i=0; i < 12; i++) { mac+= faker.random.number(15).toString(16); if (i%2==1 && i != 11) { - mac+=":"; + mac+=validSep; } } return mac; diff --git a/test/internet.unit.js b/test/internet.unit.js index 12da8eec..0c9bbd30 100644 --- a/test/internet.unit.js +++ b/test/internet.unit.js @@ -173,5 +173,23 @@ describe("internet.js", function () { var mac = faker.internet.mac(); assert.ok(mac.match(/^([a-f0-9]{2}:){5}[a-f0-9]{2}$/)); }); + + it("uses the dash separator if we pass it in as our separator", function () { + var mac = faker.internet.mac('-'); + assert.ok(mac.match(/^([a-f0-9]{2}-){5}[a-f0-9]{2}$/)); + }); + + it("uses no separator if we pass in an empty string", function() { + var mac = faker.internet.mac(''); + assert.ok(mac.match(/^[a-f0-9]{12}$/)); + }); + + it("uses the default colon (:) if we provide an unacceptable separator", function() { + var mac = faker.internet.mac('!'); + assert.ok(mac.match(/^([a-f0-9]{2}:){5}[a-f0-9]{2}$/)); + + mac = faker.internet.mac('&'); + assert.ok(mac.match(/^([a-f0-9]{2}:){5}[a-f0-9]{2}$/)); + }); }); }); |
