1
1
import { test , expect } from 'vitest' ;
2
2
import { CDN } from '../src/index.js' ;
3
3
4
- const base = 'https://discord.com' ;
4
+ const baseCDN = 'https://cdn-discord.com' ;
5
+ const baseMedia = 'https://media-discord.com' ;
5
6
const id = '123456' ;
6
7
const hash = 'abcdef' ;
7
8
const animatedHash = 'a_bcdef' ;
8
9
const defaultAvatar = 1_234 % 5 ;
9
10
10
- const cdn = new CDN ( base ) ;
11
+ const cdn = new CDN ( baseCDN , baseMedia ) ;
11
12
12
13
test ( 'appAsset default' , ( ) => {
13
- expect ( cdn . appAsset ( id , hash ) ) . toEqual ( `${ base } /app-assets/${ id } /${ hash } .webp` ) ;
14
+ expect ( cdn . appAsset ( id , hash ) ) . toEqual ( `${ baseCDN } /app-assets/${ id } /${ hash } .webp` ) ;
14
15
} ) ;
15
16
16
17
test ( 'appIcon default' , ( ) => {
17
- expect ( cdn . appIcon ( id , hash ) ) . toEqual ( `${ base } /app-icons/${ id } /${ hash } .webp` ) ;
18
+ expect ( cdn . appIcon ( id , hash ) ) . toEqual ( `${ baseCDN } /app-icons/${ id } /${ hash } .webp` ) ;
18
19
} ) ;
19
20
20
21
test ( 'avatar default' , ( ) => {
21
- expect ( cdn . avatar ( id , hash ) ) . toEqual ( `${ base } /avatars/${ id } /${ hash } .webp` ) ;
22
+ expect ( cdn . avatar ( id , hash ) ) . toEqual ( `${ baseCDN } /avatars/${ id } /${ hash } .webp` ) ;
22
23
} ) ;
23
24
24
25
test ( 'avatar dynamic-animated' , ( ) => {
25
- expect ( cdn . avatar ( id , animatedHash ) ) . toEqual ( `${ base } /avatars/${ id } /${ animatedHash } .gif` ) ;
26
+ expect ( cdn . avatar ( id , animatedHash ) ) . toEqual ( `${ baseCDN } /avatars/${ id } /${ animatedHash } .gif` ) ;
26
27
} ) ;
27
28
28
29
test ( 'avatar dynamic-not-animated' , ( ) => {
29
- expect ( cdn . avatar ( id , hash ) ) . toEqual ( `${ base } /avatars/${ id } /${ hash } .webp` ) ;
30
+ expect ( cdn . avatar ( id , hash ) ) . toEqual ( `${ baseCDN } /avatars/${ id } /${ hash } .webp` ) ;
30
31
} ) ;
31
32
32
33
test ( 'avatar decoration default' , ( ) => {
33
- expect ( cdn . avatarDecoration ( id , hash ) ) . toEqual ( `${ base } /avatar-decorations/${ id } /${ hash } .webp` ) ;
34
+ expect ( cdn . avatarDecoration ( id , hash ) ) . toEqual ( `${ baseCDN } /avatar-decorations/${ id } /${ hash } .webp` ) ;
34
35
} ) ;
35
36
36
37
test ( 'avatar decoration preset' , ( ) => {
37
- expect ( cdn . avatarDecoration ( hash ) ) . toEqual ( `${ base } /avatar-decoration-presets/${ hash } .png` ) ;
38
+ expect ( cdn . avatarDecoration ( hash ) ) . toEqual ( `${ baseCDN } /avatar-decoration-presets/${ hash } .png` ) ;
38
39
} ) ;
39
40
40
41
test ( 'banner default' , ( ) => {
41
- expect ( cdn . banner ( id , hash ) ) . toEqual ( `${ base } /banners/${ id } /${ hash } .webp` ) ;
42
+ expect ( cdn . banner ( id , hash ) ) . toEqual ( `${ baseCDN } /banners/${ id } /${ hash } .webp` ) ;
42
43
} ) ;
43
44
44
45
test ( 'channelIcon default' , ( ) => {
45
- expect ( cdn . channelIcon ( id , hash ) ) . toEqual ( `${ base } /channel-icons/${ id } /${ hash } .webp` ) ;
46
+ expect ( cdn . channelIcon ( id , hash ) ) . toEqual ( `${ baseCDN } /channel-icons/${ id } /${ hash } .webp` ) ;
46
47
} ) ;
47
48
48
49
test ( 'defaultAvatar default' , ( ) => {
49
- expect ( cdn . defaultAvatar ( defaultAvatar ) ) . toEqual ( `${ base } /embed/avatars/${ defaultAvatar } .png` ) ;
50
+ expect ( cdn . defaultAvatar ( defaultAvatar ) ) . toEqual ( `${ baseCDN } /embed/avatars/${ defaultAvatar } .png` ) ;
50
51
} ) ;
51
52
52
53
test ( 'discoverySplash default' , ( ) => {
53
- expect ( cdn . discoverySplash ( id , hash ) ) . toEqual ( `${ base } /discovery-splashes/${ id } /${ hash } .webp` ) ;
54
+ expect ( cdn . discoverySplash ( id , hash ) ) . toEqual ( `${ baseCDN } /discovery-splashes/${ id } /${ hash } .webp` ) ;
54
55
} ) ;
55
56
56
57
test ( 'emoji default' , ( ) => {
57
- expect ( cdn . emoji ( id ) ) . toEqual ( `${ base } /emojis/${ id } .webp` ) ;
58
+ expect ( cdn . emoji ( id ) ) . toEqual ( `${ baseCDN } /emojis/${ id } .webp` ) ;
58
59
} ) ;
59
60
60
61
test ( 'emoji gif' , ( ) => {
61
- expect ( cdn . emoji ( id , 'gif' ) ) . toEqual ( `${ base } /emojis/${ id } .gif` ) ;
62
+ expect ( cdn . emoji ( id , 'gif' ) ) . toEqual ( `${ baseCDN } /emojis/${ id } .gif` ) ;
62
63
} ) ;
63
64
64
65
test ( 'guildMemberAvatar default' , ( ) => {
65
- expect ( cdn . guildMemberAvatar ( id , id , hash ) ) . toEqual ( `${ base } /guilds/${ id } /users/${ id } /avatars/${ hash } .webp` ) ;
66
+ expect ( cdn . guildMemberAvatar ( id , id , hash ) ) . toEqual ( `${ baseCDN } /guilds/${ id } /users/${ id } /avatars/${ hash } .webp` ) ;
66
67
} ) ;
67
68
68
69
test ( 'guildMemberAvatar dynamic-animated' , ( ) => {
69
70
expect ( cdn . guildMemberAvatar ( id , id , animatedHash ) ) . toEqual (
70
- `${ base } /guilds/${ id } /users/${ id } /avatars/${ animatedHash } .gif` ,
71
+ `${ baseCDN } /guilds/${ id } /users/${ id } /avatars/${ animatedHash } .gif` ,
71
72
) ;
72
73
} ) ;
73
74
74
75
test ( 'guildMemberAvatar dynamic-not-animated' , ( ) => {
75
- expect ( cdn . guildMemberAvatar ( id , id , hash ) ) . toEqual ( `${ base } /guilds/${ id } /users/${ id } /avatars/${ hash } .webp` ) ;
76
+ expect ( cdn . guildMemberAvatar ( id , id , hash ) ) . toEqual ( `${ baseCDN } /guilds/${ id } /users/${ id } /avatars/${ hash } .webp` ) ;
76
77
} ) ;
77
78
78
79
test ( 'guildScheduledEventCover default' , ( ) => {
79
- expect ( cdn . guildScheduledEventCover ( id , hash ) ) . toEqual ( `${ base } /guild-events/${ id } /${ hash } .webp` ) ;
80
+ expect ( cdn . guildScheduledEventCover ( id , hash ) ) . toEqual ( `${ baseCDN } /guild-events/${ id } /${ hash } .webp` ) ;
80
81
} ) ;
81
82
82
83
test ( 'icon default' , ( ) => {
83
- expect ( cdn . icon ( id , hash ) ) . toEqual ( `${ base } /icons/${ id } /${ hash } .webp` ) ;
84
+ expect ( cdn . icon ( id , hash ) ) . toEqual ( `${ baseCDN } /icons/${ id } /${ hash } .webp` ) ;
84
85
} ) ;
85
86
86
87
test ( 'icon dynamic-animated' , ( ) => {
87
- expect ( cdn . icon ( id , animatedHash ) ) . toEqual ( `${ base } /icons/${ id } /${ animatedHash } .gif` ) ;
88
+ expect ( cdn . icon ( id , animatedHash ) ) . toEqual ( `${ baseCDN } /icons/${ id } /${ animatedHash } .gif` ) ;
88
89
} ) ;
89
90
90
91
test ( 'icon dynamic-not-animated' , ( ) => {
91
- expect ( cdn . icon ( id , hash ) ) . toEqual ( `${ base } /icons/${ id } /${ hash } .webp` ) ;
92
+ expect ( cdn . icon ( id , hash ) ) . toEqual ( `${ baseCDN } /icons/${ id } /${ hash } .webp` ) ;
92
93
} ) ;
93
94
94
95
test ( 'role icon default' , ( ) => {
95
- expect ( cdn . roleIcon ( id , hash ) ) . toEqual ( `${ base } /role-icons/${ id } /${ hash } .webp` ) ;
96
+ expect ( cdn . roleIcon ( id , hash ) ) . toEqual ( `${ baseCDN } /role-icons/${ id } /${ hash } .webp` ) ;
96
97
} ) ;
97
98
98
99
test ( 'splash default' , ( ) => {
99
- expect ( cdn . splash ( id , hash ) ) . toEqual ( `${ base } /splashes/${ id } /${ hash } .webp` ) ;
100
+ expect ( cdn . splash ( id , hash ) ) . toEqual ( `${ baseCDN } /splashes/${ id } /${ hash } .webp` ) ;
100
101
} ) ;
101
102
102
103
test ( 'sticker default' , ( ) => {
103
- expect ( cdn . sticker ( id ) ) . toEqual ( `${ base } /stickers/${ id } .png` ) ;
104
+ expect ( cdn . sticker ( id ) ) . toEqual ( `${ baseCDN } /stickers/${ id } .png` ) ;
105
+ } ) ;
106
+
107
+ test ( 'sticker GIF' , ( ) => {
108
+ expect ( cdn . sticker ( id , 'gif' ) ) . toEqual ( `${ baseMedia } /stickers/${ id } .gif` ) ;
104
109
} ) ;
105
110
106
111
test ( 'stickerPackBanner default' , ( ) => {
107
- expect ( cdn . stickerPackBanner ( id ) ) . toEqual ( `${ base } /app-assets/710982414301790216/store/${ id } .webp` ) ;
112
+ expect ( cdn . stickerPackBanner ( id ) ) . toEqual ( `${ baseCDN } /app-assets/710982414301790216/store/${ id } .webp` ) ;
108
113
} ) ;
109
114
110
115
test ( 'teamIcon default' , ( ) => {
111
- expect ( cdn . teamIcon ( id , hash ) ) . toEqual ( `${ base } /team-icons/${ id } /${ hash } .webp` ) ;
116
+ expect ( cdn . teamIcon ( id , hash ) ) . toEqual ( `${ baseCDN } /team-icons/${ id } /${ hash } .webp` ) ;
112
117
} ) ;
113
118
114
119
test ( 'makeURL throws on invalid size' , ( ) => {
@@ -122,5 +127,5 @@ test('makeURL throws on invalid extension', () => {
122
127
} ) ;
123
128
124
129
test ( 'makeURL valid size' , ( ) => {
125
- expect ( cdn . avatar ( id , animatedHash , { size : 512 } ) ) . toEqual ( `${ base } /avatars/${ id } /${ animatedHash } .gif?size=512` ) ;
130
+ expect ( cdn . avatar ( id , animatedHash , { size : 512 } ) ) . toEqual ( `${ baseCDN } /avatars/${ id } /${ animatedHash } .gif?size=512` ) ;
126
131
} ) ;
0 commit comments