|
|
|
|
@ -48,6 +48,9 @@ class AvatarTest extends \Test\TestCase { |
|
|
|
|
$this->createMock(ILogger::class), |
|
|
|
|
$this->config |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
// abcdefghi is a convenient name that our algorithm convert to our nextcloud blue 0082c9 |
|
|
|
|
$this->user->method('getDisplayName')->willReturn('abcdefghi'); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testGetNoAvatar() { |
|
|
|
|
@ -226,4 +229,37 @@ class AvatarTest extends \Test\TestCase { |
|
|
|
|
$this->avatar->set($image->data()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testGenerateSvgAvatar() { |
|
|
|
|
$avatar = $this->avatar->getAvatarVector(64); |
|
|
|
|
|
|
|
|
|
$svg = ' |
|
|
|
|
<svg width="64" height="64" version="1.1" viewBox="0 0 500 500" xmlns="http://www.w3.org/2000/svg"> |
|
|
|
|
<rect width="100%" height="100%" fill="#0082c9"></rect> |
|
|
|
|
<text x="50%" y="350" style="font-weight:600;font-size:278px;font-family:\'Open Sans\';text-anchor:middle;fill:#fff">A</text> |
|
|
|
|
</svg>'; |
|
|
|
|
$this->assertEquals($avatar, $svg); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testHashToInt() { |
|
|
|
|
$hashToInt = $this->invokePrivate($this->avatar, 'hashToInt', ['abcdef', 18]); |
|
|
|
|
$this->assertTrue(gettype($hashToInt) === 'integer'); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public function testMixPalette() { |
|
|
|
|
$colorFrom = new \OC\Color(0,0,0); |
|
|
|
|
$colorTo = new \OC\Color(6,12,18); |
|
|
|
|
$steps = 6; |
|
|
|
|
$palette = $this->invokePrivate($this->avatar, 'mixPalette', [$steps, $colorFrom, $colorTo]); |
|
|
|
|
foreach($palette as $j => $color) { |
|
|
|
|
// calc increment |
|
|
|
|
$incR = $colorTo->r / $steps * $j; |
|
|
|
|
$incG = $colorTo->g / $steps * $j; |
|
|
|
|
$incB = $colorTo->b / $steps * $j; |
|
|
|
|
// ensure everything is equal |
|
|
|
|
$this->assertEquals($color, new \OC\Color($incR, $incG,$incB)); |
|
|
|
|
} |
|
|
|
|
$hashToInt = $this->invokePrivate($this->avatar, 'hashToInt', ['abcdef', 18]); |
|
|
|
|
$this->assertTrue(gettype($hashToInt) === 'integer'); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|