@@ -41,34 +41,77 @@ describe('UuiAvatar', () => {
41
41
} ) ;
42
42
} ) ;
43
43
44
- it ( 'renders an image when imgSrc is set' , async ( ) => {
45
- const avatar = await fixture (
46
- html `< uui-avatar img-src ="${ avatarSrc } " name ="My Avatar "> </ uui-avatar > ` ,
47
- ) ;
48
- expect ( avatar ) . shadowDom . to . equal (
49
- `<img alt="MA" src="${ avatarSrc } " srcset="" title="My Avatar" /><slot></<slot>` ,
50
- ) ;
51
- } ) ;
44
+ describe ( 'initials' , ( ) => {
45
+ it ( 'renders an image when imgSrc is set' , async ( ) => {
46
+ const avatar = await fixture (
47
+ html `< uui-avatar img-src ="${ avatarSrc } " name ="My Avatar "> </ uui-avatar > ` ,
48
+ ) ;
49
+ expect ( avatar ) . shadowDom . to . equal (
50
+ `<img alt="MA" src="${ avatarSrc } " srcset="" title="My Avatar" /><slot></<slot>` ,
51
+ ) ;
52
+ } ) ;
52
53
53
- it ( 'renders an image with alt text when imgSrc and text is set' , async ( ) => {
54
- const avatar = await fixture (
55
- html `< uui-avatar img-src ="${ avatarSrc } " name ="alt text "> </ uui-avatar > ` ,
56
- ) ;
57
- expect ( avatar ) . shadowDom . to . equal (
58
- `<img alt="AT" src="${ avatarSrc } " srcset="" title="alt text" /><slot></<slot>` ,
59
- ) ;
60
- } ) ;
54
+ it ( 'renders an image with alt text when imgSrc and text is set' , async ( ) => {
55
+ const avatar = await fixture (
56
+ html `< uui-avatar img-src ="${ avatarSrc } " name ="alt text "> </ uui-avatar > ` ,
57
+ ) ;
58
+ expect ( avatar ) . shadowDom . to . equal (
59
+ `<img alt="AT" src="${ avatarSrc } " srcset="" title="alt text" /><slot></<slot>` ,
60
+ ) ;
61
+ } ) ;
61
62
62
- it ( 'shows the first initial when text is used and there is no image' , async ( ) => {
63
- const avatar = await fixture ( html `< uui-avatar name ="First "> </ uui-avatar > ` ) ;
64
- expect ( avatar ) . shadowDom . to . equal ( 'F<slot></<slot>' ) ;
65
- } ) ;
63
+ it ( 'shows the first initial when text is used and there is no image' , async ( ) => {
64
+ const avatar = await fixture (
65
+ html `< uui-avatar name ="First "> </ uui-avatar > ` ,
66
+ ) ;
67
+ expect ( avatar ) . shadowDom . to . equal ( 'F<slot></<slot>' ) ;
68
+ } ) ;
69
+
70
+ it ( 'shows the first and last initial when text is used and there is no image' , async ( ) => {
71
+ element . name = 'First Second Last' ;
72
+ await element . updateComplete ;
73
+ expect ( element ) . shadowDom . to . equal ( 'FL<slot></<slot>' ) ;
74
+ } ) ;
66
75
67
- it ( 'shows the first and last initial when text is used and there is no image' , async ( ) => {
68
- const avatar = await fixture (
69
- html `< uui-avatar name ="First Second Last "> </ uui-avatar > ` ,
70
- ) ;
71
- expect ( avatar ) . shadowDom . to . equal ( 'FL<slot></<slot>' ) ;
76
+ it ( 'supports unicode characters' , async ( ) => {
77
+ element . name = '👩💻' ;
78
+ await element . updateComplete ;
79
+ expect ( element ) . shadowDom . to . equal ( '\ud83d<slot></<slot>' ) ;
80
+
81
+ element . name = '👩💻 👨💻' ;
82
+ await element . updateComplete ;
83
+ expect ( element ) . shadowDom . to . equal ( '\ud83d\ud83d<slot></<slot>' ) ;
84
+ } ) ;
85
+
86
+ it ( 'supports non-latin characters' , async ( ) => {
87
+ element . name = 'Привет Ša' ;
88
+ await element . updateComplete ;
89
+ expect ( element ) . shadowDom . to . equal ( 'ПŠ<slot></<slot>' ) ;
90
+
91
+ element . name = 'Привет' ;
92
+ await element . updateComplete ;
93
+ expect ( element ) . shadowDom . to . equal ( 'П<slot></<slot>' ) ;
94
+
95
+ element . name = 'UlŠa Mya' ;
96
+ await element . updateComplete ;
97
+ expect ( element ) . shadowDom . to . equal ( 'UM<slot></<slot>' ) ;
98
+
99
+ element . name = 'åse hylle' ;
100
+ await element . updateComplete ;
101
+ expect ( element ) . shadowDom . to . equal ( 'ÅH<slot></<slot>' ) ;
102
+ } ) ;
103
+
104
+ it ( 'supports overriding initials' , async ( ) => {
105
+ element . initials = 'AB' ;
106
+ await element . updateComplete ;
107
+ expect ( element ) . shadowDom . to . equal ( 'AB<slot></<slot>' ) ;
108
+ } ) ;
109
+
110
+ it ( 'shows a maximum of 3 characters' , async ( ) => {
111
+ element . initials = '1234' ;
112
+ await element . updateComplete ;
113
+ expect ( element ) . shadowDom . to . equal ( '123<slot></<slot>' ) ;
114
+ } ) ;
72
115
} ) ;
73
116
74
117
it ( 'passes the a11y audit' , async ( ) => {
0 commit comments