/**
  * Tests that the check method will check with configured hashers until a match
  * is found
  *
  * @return void
  */
 public function testCheck()
 {
     $hasher = new FallbackPasswordHasher(['hashers' => ['Weak', 'Default']]);
     $weak = new WeakPasswordHasher();
     $simple = new DefaultPasswordHasher();
     $hash = $simple->hash('foo');
     $otherHash = $weak->hash('foo');
     $this->assertTrue($hasher->check('foo', $hash));
     $this->assertTrue($hasher->check('foo', $otherHash));
 }
 /**
  * Tests that the check method will work with configured hashers including different
  * configs per hasher.
  *
  * @return void
  */
 public function testCheckWithConfigs()
 {
     $hasher = new FallbackPasswordHasher(['hashers' => ['Default', 'Weak' => ['hashType' => 'md5']]]);
     $legacy = new WeakPasswordHasher(['hashType' => 'md5']);
     $simple = new DefaultPasswordHasher();
     $hash = $simple->hash('foo');
     $legacyHash = $legacy->hash('foo');
     $this->assertTrue($hash !== $legacyHash);
     $this->assertTrue($hasher->check('foo', $hash));
     $this->assertTrue($hasher->check('foo', $legacyHash));
 }