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());
123 $this->assertEquals(
"",
$f->picture(
'',
'ro')->getAlternativeText());
124 $this->assertEquals(
"",
$f->letter(
'',
'ro')->getAlternativeText());
125 $this->assertEquals(
"alternative",
$f->picture(
'',
'ro')
126 ->withAlternativeText(
"alternative")
127 ->getAlternativeText());
128 $this->assertEquals(
"alternative",
$f->letter(
'',
'ro')
129 ->withAlternativeText(
"alternative")
130 ->getAlternativeText());
138 $letter =
$f->letter(
'ro');
141 <span class="il-avatar il-avatar-letter il-avatar-size-large il-avatar-letter-color-1" aria-label="user_avatar" role="img"> 142 <span class="abbreviation">ro</span> 144 $this->assertEquals($expected, $html);
152 $str =
'/path/to/picture.jpg';
153 $letter =
$f->picture($str,
'ro');
156 <span class="il-avatar il-avatar-picture il-avatar-size-large"> 157 <img src="/path/to/picture.jpg" alt="user_avatar"/> 159 $this->assertEquals($expected, $html);
167 $str =
'/path/to/picture.jpg';
168 $letter =
$f->picture($str,
'ro')->withAlternativeText(
"alternative");
171 <span class="il-avatar il-avatar-picture il-avatar-size-large"> 172 <img src="/path/to/picture.jpg" alt="alternative"/> 174 $this->assertEquals($expected, $html);
183 $sh =
static function ($length = 10) {
184 return substr(str_shuffle(str_repeat($x =
'abcdefghijklmnopqrstuvwxyz', (
int) ceil($length / strlen($x)))), 1, $length);
191 $probe = crc32($str);
192 $i = ($probe % $color_variants) + 1;
193 if (!in_array(
$i, $strings,
true)) {
197 if (count($strings) === $color_variants) {
Provides common functionality for UI tests.
getRandom26StringsForAllColorVariants(int $color_variants=26, int $length=2)
brutallyTrimHTML($html)
A more radical version of normalizeHTML.
Test on avatar implementation.
testRenderingPictureWithSomeAlternativeText()
getDefaultRenderer(JavaScriptBinding $js_binding=null, $with_stub_renderings=[])