1 var common = require('../common');
2 var assert = common.assert;
3 var retry = require(common.dir.lib + '/retry');
5 (function testDefaultValues() {
6 var timeouts = retry.timeouts();
8 assert.equal(timeouts.length, 10);
9 assert.equal(timeouts[0], 1000);
10 assert.equal(timeouts[1], 2000);
11 assert.equal(timeouts[2], 4000);
14 (function testDefaultValuesWithRandomize() {
15 var minTimeout = 5000;
16 var timeouts = retry.timeouts({
17 minTimeout: minTimeout,
21 assert.equal(timeouts.length, 10);
22 assert.ok(timeouts[0] > minTimeout);
23 assert.ok(timeouts[1] > timeouts[0]);
24 assert.ok(timeouts[2] > timeouts[1]);
27 (function testPassedTimeoutsAreUsed() {
28 var timeoutsArray = [1000, 2000, 3000];
29 var timeouts = retry.timeouts(timeoutsArray);
30 assert.deepEqual(timeouts, timeoutsArray);
31 assert.notStrictEqual(timeouts, timeoutsArray);
34 (function testTimeoutsAreWithinBoundaries() {
35 var minTimeout = 1000;
36 var maxTimeout = 10000;
37 var timeouts = retry.timeouts({
38 minTimeout: minTimeout,
39 maxTimeout: maxTimeout
41 for (var i = 0; i < timeouts; i++) {
42 assert.ok(timeouts[i] >= minTimeout);
43 assert.ok(timeouts[i] <= maxTimeout);
47 (function testTimeoutsAreIncremental() {
48 var timeouts = retry.timeouts();
49 var lastTimeout = timeouts[0];
50 for (var i = 0; i < timeouts; i++) {
51 assert.ok(timeouts[i] > lastTimeout);
52 lastTimeout = timeouts[i];
56 (function testTimeoutsAreIncrementalForFactorsLessThanOne() {
57 var timeouts = retry.timeouts({
62 var expected = [250, 500, 1000];
63 assert.deepEqual(expected, timeouts);
66 (function testRetries() {
67 var timeouts = retry.timeouts({retries: 2});
68 assert.strictEqual(timeouts.length, 2);