/** * @return string */ public function avatar() { $avatar = $this->wrappedObject->avatar; // Empty? Default avatar if (empty($avatar)) { return asset('images/avatar.png'); } elseif (filter_var($avatar, FILTER_VALIDATE_URL) !== false) { return $avatar; } elseif (filter_var($avatar, FILTER_VALIDATE_EMAIL) !== false) { return $this->gravatarGenerator->setDefault(asset('images/avatar.png'))->getGravatar($avatar); } elseif (file_exists(public_path("uploads/avatars/{$avatar}"))) { return asset("uploads/avatars/{$avatar}"); } else { return asset('images/avatar.png'); } }
public function testForceDefaultSecure() { $email = '*****@*****.**'; $emailHash = md5($email); $default = 'retro'; $generator = new Generator(); $generator->setEmail($email); $generator->setDefault($default); $generator->setForceDefault(true); $generator->setSecure(true); $expected = "https://secure.gravatar.com/avatar/{$emailHash}.png?s=80&d={$default}&forcedefault=y&rating=g"; $this->assertEquals($expected, $generator->getGravatar()); }