aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2018-05-07 14:09:31 +0200
committerJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2018-06-13 18:46:04 +0200
commit03d6be087748a4d640253d2614fafa313675d9ff (patch)
tree5008f7afbfa5db8725d9149a445e30afd5db7100 /tests
parented4309ce41557d39576108731631ac59aa6e3120 (diff)
downloadnextcloud-server-03d6be087748a4d640253d2614fafa313675d9ff.tar.gz
nextcloud-server-03d6be087748a4d640253d2614fafa313675d9ff.zip
Added new tests
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/lib/AvatarTest.php36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/lib/AvatarTest.php b/tests/lib/AvatarTest.php
index 4914c02bd14..a9b798fe5d7 100644
--- a/tests/lib/AvatarTest.php
+++ b/tests/lib/AvatarTest.php
@@ -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');
+ }
+
}