mirror of
https://github.com/S2-/securerandomstring.git
synced 2025-08-02 10:20:05 +02:00
remove useless urlsafe: false option
This commit is contained in:
@@ -21,19 +21,16 @@ srs(function(err, sr) {
|
||||
|
||||
```
|
||||
|
||||
### Options: length, urlsafe
|
||||
### Options: length
|
||||
|
||||
Optionally, you can specify a 'length' option to specify a length.
|
||||
|
||||
When 'urlsafe' is true (the default), potential `+` and `/` characters are replaced respectively with `-` and `_`.
|
||||
This is a valid [base64url](https://en.wikipedia.org/wiki/Base64) string.
|
||||
|
||||
```javascript
|
||||
// sync
|
||||
var result = srs({length: 256, urlsafe:true});
|
||||
var result = srs({length: 256});
|
||||
|
||||
// async
|
||||
srs({length: 256, urlsafe:true}, function(err, sr) {
|
||||
srs({length: 256}, function(err, sr) {
|
||||
console.log(sr);
|
||||
});
|
||||
```
|
||||
|
@@ -7,7 +7,6 @@ function srs(options, cb) {
|
||||
} else {
|
||||
options = options || {};
|
||||
}
|
||||
options.urlsafe = typeof(options.urlsafe) === 'boolean' ? options.urlsafe : true;
|
||||
|
||||
var length = options['length'] || 32;
|
||||
|
||||
@@ -27,9 +26,7 @@ function srs(options, cb) {
|
||||
|
||||
function _finish (buf) {
|
||||
var string = buf.toString('base64');
|
||||
if (options.urlsafe) {
|
||||
string = string.replace(/\//g,'_').replace(/\+/g,'-');
|
||||
}
|
||||
return string.substr(0, length);
|
||||
}
|
||||
|
||||
|
17
tests.js
17
tests.js
@@ -50,28 +50,15 @@ srs({length: 256}, function(err, sr) {
|
||||
);
|
||||
});
|
||||
|
||||
srs({length: 256}, function(err, sr) {
|
||||
test('generate a urlsafe random string 256 chars long',
|
||||
sr.length,
|
||||
256
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
// sync tests
|
||||
test('generate a random string 32 chars long (sync)', srs().length, 32);
|
||||
test('generate a random string 1 chars long (sync)', srs({length:1}).length, 1);
|
||||
test('generate a random string 256 chars long (sync)', srs({length:256}).length, 256);
|
||||
test('generate a urlsafe random string 256 chars long (sync)', srs({length:256}).length, 256);
|
||||
|
||||
//when generating, the default should be urlsafe
|
||||
|
||||
//in 2000 chars there should be at least one substitution
|
||||
test('check that the random string is urlsafe by default', (function() {
|
||||
test('check that the random string is urlsafe', (function() {
|
||||
var s = srs({length: 2000});
|
||||
return s.indexOf('+') + s.indexOf('/') === -2;
|
||||
})(), true);
|
||||
|
||||
test('check that the useless urlsafe: false option works', (function() {
|
||||
var s = srs({length: 2000, urlsafe: false});
|
||||
return s.indexOf('_') + s.indexOf('-') === -2;
|
||||
})(), true);
|
||||
|
Reference in New Issue
Block a user