Convert random generator to es6 and add some specs for it directly

master
John Crepezzi 8 years ago
parent e12805a8aa
commit e4e025f67e
  1. 31
      lib/key_generators/random.js
  2. 2
      package.json
  3. 19
      test/key_generators/random_spec.js

@ -1,19 +1,20 @@
var RandomKeyGenerator = function(options) { module.exports = class RandomKeyGenerator {
if (!options) {
options = {}; // Initialize a new generator with the given keySpace
constructor(options = {}) {
this.keyspace = options.keyspace || 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
} }
this.keyspace = options.keyspace || 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
};
// Generate a random key // Generate a key of the given length
RandomKeyGenerator.prototype.createKey = function(keyLength) { createKey(keyLength) {
var text = ''; var text = '';
var index;
for (var i = 0; i < keyLength; i++) { for (var i = 0; i < keyLength; i++) {
index = Math.floor(Math.random() * this.keyspace.length); const index = Math.floor(Math.random() * this.keyspace.length);
text += this.keyspace.charAt(index); text += this.keyspace.charAt(index);
}
return text;
} }
return text;
};
module.exports = RandomKeyGenerator; };

@ -46,6 +46,6 @@
}, },
"scripts": { "scripts": {
"start": "node server.js", "start": "node server.js",
"test": "mocha" "test": "mocha --recursive"
} }
} }

@ -0,0 +1,19 @@
/* global describe, it */
const assert = require('assert');
const Generator = require('../../lib/key_generators/random');
describe('RandomKeyGenerator', function() {
describe('randomKey', function() {
it('should return a key of the proper length', function() {
var gen = new Generator();
assert.equal(6, gen.createKey(6).length);
});
it('should use a key from the given keyset if given', () => {
var gen = new Generator({keyspace: 'A'});
assert.equal('AAAAAA', gen.createKey(6));
});
});
});
Loading…
Cancel
Save