this repo has no description
at main 1.3 kB view raw
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});