1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | 1× | import test from 'ava'; import generate from '../src/lib/generate'; function testFailure(t, masterPassword, url, options, callback) { t.throws(() => { generate(masterPassword, url, options, callback); }); } const testData = [ [ 'test', // master password 'example.com', // url { method: 'foo', // options (default = {}) }, // callback (default = function() {}) ], [ 'test', 'example.com', { length: -1, }, ], [ 'test', 'example.com', { length: 0, }, ], [ 'test', 'example.com', { length: '12', }, ], [ 'test', 'example.com', { length: 3, }, ], [ 'test', 'example.com', { length: 28, }, ], [ 'test', 'example.com', { secret: false, }, ], [ 'test', 'example.com', { secret: [], }, ], [ 'test', '', ], [ 'test', '/foo/', ], [ 'test', false, ], [ '', 'example.com', { secret: '', }, ], [ false, 'example.com', ], [ null, 'example.com', ], [ undefined, 'example.com', ], [ 'test', 'example.com', {}, {}, ], ]; testData.forEach((args) => { test('validation', testFailure, ...args); }); |