21 lines
859 B
JavaScript
Executable File
21 lines
859 B
JavaScript
Executable File
var vows = require('vows');
|
|
var assert = require('assert');
|
|
var RateLimiter = require('../lib/rateLimiter');
|
|
|
|
vows.describe('RateLimiter').addBatch({
|
|
'interval validation': {
|
|
'invalid interval': function() {
|
|
assert.throws(function() { new RateLimiter(1, 'junk'); }, /interval/);
|
|
},
|
|
'valid intervals': function() {
|
|
assert.doesNotThrow(function() { new RateLimiter(1, 'sec'); });
|
|
assert.doesNotThrow(function() { new RateLimiter(1, 'second'); });
|
|
assert.doesNotThrow(function() { new RateLimiter(1, 'min'); });
|
|
assert.doesNotThrow(function() { new RateLimiter(1, 'minute'); });
|
|
assert.doesNotThrow(function() { new RateLimiter(1, 'hr'); });
|
|
assert.doesNotThrow(function() { new RateLimiter(1, 'hour'); });
|
|
assert.doesNotThrow(function() { new RateLimiter(1, 'day'); });
|
|
}
|
|
}
|
|
}).export(module);
|