diff --git a/app/scripts/util/generators/phonetic.js b/app/scripts/util/generators/phonetic.js index 107ea062..5599496f 100644 --- a/app/scripts/util/generators/phonetic.js +++ b/app/scripts/util/generators/phonetic.js @@ -312,7 +312,8 @@ function generate(options) { word: '', opts: options }; - while (wordObj.word.length < length) { + const safeMaxLength = length + 5; + while (wordObj.word.length < safeMaxLength) { addSyllable(wordObj); } return postProcess(wordObj).substr(0, length); diff --git a/test/src/util/generators/password-generator.js b/test/src/util/generators/password-generator.js index 5afa1dc8..c30131a2 100644 --- a/test/src/util/generators/password-generator.js +++ b/test/src/util/generators/password-generator.js @@ -41,9 +41,11 @@ describe('PasswordGenerator', () => { }); it('should generate a pronounceable password', () => { - expect(PasswordGenerator.generate({ length: 10, name: 'Pronounceable' })).to.match( - /^[a-zA-Z]{10}$/ - ); + for (let i = 0; i < 1000; i++) { + expect(PasswordGenerator.generate({ length: 10, name: 'Pronounceable' })).to.match( + /^[a-zA-Z]{10}$/ + ); + } }); it('should generate a password with pattern', () => {