3 require_once(
"libs/composer/vendor/autoload.php");
4 require_once(__DIR__ .
"/../../../Base.php");
14 protected const ICON_PATH = __DIR__ .
"/../../../../../templates/default/images/";
18 return new I\Component\Symbol\Avatar\Factory();
24 $this->assertInstanceOf(
"ILIAS\\UI\\Component\\Symbol\\Avatar\\Factory",
$f);
26 $le =
$f->letter(
'ru');
27 $this->assertInstanceOf(
"ILIAS\\UI\\Component\\Symbol\\Avatar\\Letter", $le);
29 $ci =
$f->picture(self::ICON_PATH .
'no_photo_xsmall.jpg',
'ru');
30 $this->assertInstanceOf(
"ILIAS\\UI\\Component\\Symbol\\Avatar\\Picture", $ci);
37 $this->assertEquals(
'ro',
$f->letter(
'ro')->getAbbreviation());
38 $this->assertEquals(
'ro',
$f->letter(
'root')->getAbbreviation());
39 $this->assertEquals(
'Ro',
$f->letter(
'Root')->getAbbreviation());
40 $this->assertEquals(
'RO',
$f->letter(
'ROOT')->getAbbreviation());
47 $this->assertEquals(
'ro',
$f->letter(
'ro')->getUsername());
48 $this->assertEquals(
'ro',
$f->picture(
'',
'ro')->getUsername());
49 $this->assertEquals(
'root',
$f->letter(
'root')->getUsername());
50 $this->assertEquals(
'root',
$f->picture(
'',
'root')->getUsername());
51 $this->assertEquals(
'Root',
$f->letter(
'Root')->getUsername());
52 $this->assertEquals(
'Root',
$f->picture(
'',
'Root')->getUsername());
53 $this->assertEquals(
'ROOT',
$f->letter(
'ROOT')->getUsername());
54 $this->assertEquals(
'ROOT',
$f->picture(
'',
'ROOT')->getUsername());
61 $str =
'/path/to/picture.jpg';
62 $this->assertEquals($str,
$f->picture($str,
'ro')->getPicturePath());
98 foreach ($variants as $color => $variant) {
99 $this->assertEquals($color,
$f->letter($variant)->getBackgroundColorVariant());
107 $number_of_colors = 26;
110 $calculated_color_variant = (crc32($abb) % $number_of_colors) + 1;
111 $this->assertEquals($calculated_color_variant,
$f->letter($abb)->getBackgroundColorVariant());
116 $this->assertEquals($color,
$f->letter($variant)->getBackgroundColorVariant());
125 $letter =
$f->letter(
'ro');
127 $expected =
'<div class="il-avatar il-avatar-letter il-avatar-size-large il-avatar-letter-color-1" aria-label="ro"> <span class="abbreviation">ro</span></div>';
128 $this->assertEquals($expected, $html);
136 $str =
'/path/to/picture.jpg';
137 $letter =
$f->picture($str,
'ro');
139 $expected =
'<div class="il-avatar il-avatar-picture il-avatar-size-large" aria-label="ro"> <img src="/path/to/picture.jpg"/></div>';
140 $this->assertEquals($expected, $html);
150 $sh =
static function ($length = 10) {
151 return substr(str_shuffle(str_repeat($x =
'abcdefghijklmnopqrstuvwxyz', (
int) ceil($length / strlen($x)))), 1, $length);
158 $probe = crc32($str);
159 $i = ($probe % $color_variants) + 1;
160 if (!in_array(
$i, $strings,
true)) {
164 if (count($strings) === $color_variants) {
getRandom26StringsForAllColorVariants(int $color_variants=26, int $length=10)
getDefaultRenderer(JavaScriptBinding $js_binding=null)
Provides common functionality for UI tests.
Test on avatar implementation.