/** * Generates next valid password from given current password * @param string $current current password * @return string next password */ public function next($current) { $next = $current; do { $next = $this->incrementer->incrementWithoutLetters($next, ['i', 'o', 'l']); } while (!$this->validator->isCompliant($next)); return $next; }
/** * @test * @dataProvider passwords * @param string $input * @param bool $expected */ public function enforcesPasswordRequirements($input, $expected) { $validator = new PasswordRequirementsValidator(); $this->assertSame($expected, $validator->isCompliant($input), $input); }