/** * Unit-test for Helper::getStr * @group RootClasses * @covers Veles\Helper::genStr * @dataProvider genStrProvider * @see Helper::getStr */ public function testGenStr($length, $letters) { if (null === $length && null === $letters) { $length = 22; $letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789./'; $result = Helper::genStr(); } else { $result = Helper::genStr($length, $letters); } $result_length = strlen($result); $unknown_array = []; $msg = 'Wrong result type: ' . gettype($result); $this->assertInternalType('string', $result, $msg); $msg = "Wrong result length: {$result_length}"; $this->assertSame($length, $result_length, $msg); for ($i = 0; $i < $result_length; ++$i) { if (false === strpos($letters, $result[$i])) { $unknown_array[] = '"' . $result[$i] . '"'; } } $msg = 'Result contains unknown symbols: ' . implode(',', $unknown_array); $this->assertTrue(empty($unknown_array), $msg); }
/** * DataProvider for PasswordTest::testCheck */ public function checkProvider() { $user = new User(); $user->hash = crypt('password', '$2y$07$' . Helper::genStr()); return [[$user, 'password', true], [$user, 'wrongPassword', false]]; }