this repo has no description
1import { describe, expect, test } from "bun:test";
2import { getAvatarForNick } from "./avatars";
3
4describe("getAvatarForNick", () => {
5 test("returns a valid URL", () => {
6 const avatar = getAvatarForNick("testnick");
7 expect(avatar).toBeString();
8 expect(avatar).toStartWith("https://");
9 });
10
11 test("returns consistent avatar for same nick", () => {
12 const avatar1 = getAvatarForNick("alice");
13 const avatar2 = getAvatarForNick("alice");
14 expect(avatar1).toBe(avatar2);
15 });
16
17 test("returns different avatars for different nicks", () => {
18 const avatar1 = getAvatarForNick("alice");
19 const avatar2 = getAvatarForNick("bob");
20
21 // They might occasionally be the same due to hash collisions,
22 // but let's test they can be different
23 expect(avatar1).toBeString();
24 expect(avatar2).toBeString();
25 });
26
27 test("handles empty string", () => {
28 const avatar = getAvatarForNick("");
29 expect(avatar).toBeString();
30 expect(avatar).toStartWith("https://");
31 });
32
33 test("handles special characters", () => {
34 const avatar = getAvatarForNick("user-123_test");
35 expect(avatar).toBeString();
36 expect(avatar).toStartWith("https://");
37 });
38
39 test("handles unicode characters", () => {
40 const avatar = getAvatarForNick("用户名");
41 expect(avatar).toBeString();
42 expect(avatar).toStartWith("https://");
43 });
44});