Added new tests

Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
pull/9197/head
John Molakvoæ (skjnldsv) 2018-05-07 14:09:31 +07:00
parent ed4309ce41
commit 03d6be0877
No known key found for this signature in database
GPG Key ID: 60C25B8C072916CF
1 changed files with 36 additions and 0 deletions

@ -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');
}
}