@@ -6,114 +6,86 @@ import {Factory} from "../js/factory";
6
6
const factory = new Factory ( ) ;
7
7
8
8
describe (
9
- "Emoji character counting in message content " ,
9
+ "Emoji, custom-emoji and image-identifier counting.. " ,
10
10
( ) => [
11
- [ "" , 0 , 0 ] ,
12
- [ " " , 0 , 0 ] ,
13
- [ "\u{0023}" , 0 , 0 ] ,
14
- [ "\u{0030}" , 0 , 0 ] ,
15
- [ "\u{0039}" , 0 , 0 ] ,
16
- [ "\u{00AE}" , 0 , 0 ] ,
17
- [ "🫸" , 1 , 0 ] ,
18
- [ "🫸🫸" , 2 , 0 ] ,
19
- [ " 🫸🫸" , 2 , 0 ] ,
20
- [ "🫸🫸 " , 2 , 0 ] ,
21
- [ " 🫸🫸 " , 2 , 0 ] ,
22
- [ "<:blah:345802398509358903485093>🫸" , 1 , 1 ] ,
23
- [ "<:name:1245079798410121307>" , 0 , 1 ] ,
24
- [ "<a:name:1245079798410121307>" , 0 , 1 ] ,
25
- [ "<:n:1245079798410121307>" , 0 , 1 ] ,
26
- [ "<a:n:1245079798410121307>" , 0 , 1 ] ,
27
- [ "<:name:1>" , 0 , 1 ] ,
28
- [ "<a:name:1>" , 0 , 1 ] ,
29
- [ "<:n:1>" , 0 , 1 ] ,
30
- [ "<a:n:1>" , 0 , 1 ] ,
31
- [ "<a:-:a>" , 0 , 0 ] ,
32
- [ "<a:n:a>" , 0 , 0 ] ,
33
- [ "<b:n:1>" , 0 , 0 ] ,
34
- [ "<ab:n:1>" , 0 , 0 ] ,
35
- [ "<ba:n:1>" , 0 , 0 ] ,
36
- [ "<::1245079798410121307>" , 0 , 0 ] ,
37
- [ "<a::1245079798410121307>" , 0 , 0 ] ,
38
- [ "<::1>" , 0 , 0 ] ,
39
- [ "<a::1>" , 0 , 0 ] ,
40
- [ "<:name:>" , 0 , 0 ] ,
41
- [ "<a:name:>" , 0 , 0 ] ,
42
- [ "<:n:>" , 0 , 0 ] ,
43
- [ "<a:n:>" , 0 , 0 ] ,
44
- [ ":name:1245079798410121307>" , 0 , 0 ] ,
45
- [ "a:name:1245079798410121307>" , 0 , 0 ] ,
46
- [ ":n:1245079798410121307>" , 0 , 0 ] ,
47
- [ "a:n:1245079798410121307>" , 0 , 0 ] ,
48
- [ ":name:1>" , 0 , 0 ] ,
49
- [ "a:name:1>" , 0 , 0 ] ,
50
- [ ":n:1>" , 0 , 0 ] ,
51
- [ "a:n:1>" , 0 , 0 ] ,
52
- [ "<:name:1245079798410121307" , 0 , 0 ] ,
53
- [ "<a:name:1245079798410121307" , 0 , 0 ] ,
54
- [ "<:n:1245079798410121307" , 0 , 0 ] ,
55
- [ "<a:n:1245079798410121307" , 0 , 0 ] ,
56
- [ "<:name:1" , 0 , 0 ] ,
57
- [ "<a:name:1" , 0 , 0 ] ,
58
- [ "<:n:1" , 0 , 0 ] ,
59
- [ "<a:n:1" , 0 , 0 ] ,
60
- [ ":name:1245079798410121307" , 0 , 0 ] ,
61
- [ "a:name:1245079798410121307" , 0 , 0 ] ,
62
- [ ":n:1245079798410121307" , 0 , 0 ] ,
63
- [ "a:n:1245079798410121307" , 0 , 0 ] ,
64
- [ ":name:1" , 0 , 0 ] ,
65
- [ "a:name:1" , 0 , 0 ] ,
66
- [ ":n:1" , 0 , 0 ] ,
67
- [ "a:n:1" , 0 , 0 ] ,
68
- [ "🫸<:id:3458>" , 1 , 1 ] ,
69
- [ "🫸<:custom_emoji:3458>🫸" , 2 , 1 ] ,
70
- [ "<:custom:3454458>🫸<:fish:3453453453458>🫸<:something:3458>" , 2 , 3 ] ,
71
- ] . forEach ( ( [ messageContent , expectedEmojiCount , expectedCustomEmojiCount ] ) =>
11
+ [ "" , 0 , 0 , 0 ] ,
12
+ [ " ID:" , 0 , 0 , 0 ] ,
13
+ // ["\u{0023}ID: a", 0, 0, 0],
14
+ [ "\u{0030}ID: a" , 0 , 0 , 0 ] ,
15
+ [ "\u{0039}id: " , 0 , 0 , 0 ] ,
16
+ [ "\u{00AE}iD: a" , 0 , 0 , 0 ] ,
17
+ [ "ID: a🫸" , 1 , 0 , 1 ] ,
18
+ [ "ID: 🫸 ID: 🫸" , 2 , 0 , 0 ] ,
19
+ [ "ID: a🫸 ID: a🫸" , 2 , 0 , 2 ] ,
20
+ [ " 🫸🫸ID: " , 2 , 0 , 0 ] ,
21
+ [ "🫸ID: x🫸 " , 2 , 0 , 1 ] ,
22
+ [ " 🫸ID: 🫸ID: " , 2 , 0 , 0 ] ,
23
+ [ "<:blah:345802398509358903485093> ID: a🫸" , 1 , 1 , 1 ] ,
24
+ [ "<:name:1245079798410121307>ID: " , 0 , 1 , 0 ] ,
25
+ [ "ID: something <a:name:1245079798410121307>" , 0 , 1 , 1 ] ,
26
+ [ "ID: s <:n:1245079798410121307> ID: d" , 0 , 1 , 2 ] ,
27
+ [ "<a:n:1245079798410121307>WID: " , 0 , 1 , 0 ] ,
28
+ [ "<:name:1>" , 0 , 1 , 0 ] ,
29
+ [ "<a:name:1>" , 0 , 1 , 0 ] ,
30
+ [ "<:n:1>" , 0 , 1 , 0 ] ,
31
+ [ "<a:n:1>" , 0 , 1 , 0 ] ,
32
+ [ "<a:-:a>" , 0 , 0 , 0 ] ,
33
+ [ "<a:n:a>" , 0 , 0 , 0 ] ,
34
+ [ "<b:n:1>" , 0 , 0 , 0 ] ,
35
+ [ "<ab:n:1>" , 0 , 0 , 0 ] ,
36
+ [ "<ba:n:1>" , 0 , 0 , 0 ] ,
37
+ [ "<::1245079798410121307>" , 0 , 0 , 0 ] ,
38
+ [ "<a::1245079798410121307>ID: abcsID: abcd." , 0 , 0 , 1 ] ,
39
+ [ "<::1>" , 0 , 0 , 0 ] ,
40
+ [ "<a::1>" , 0 , 0 , 0 ] ,
41
+ [ "<:name:>" , 0 , 0 , 0 ] ,
42
+ [ "<a:name:>" , 0 , 0 , 0 ] ,
43
+ [ "<:n:>" , 0 , 0 , 0 ] ,
44
+ [ "<a:n:>" , 0 , 0 , 0 ] ,
45
+ [ ":name:1245079798410121307>" , 0 , 0 , 0 ] ,
46
+ [ "a:name:1245079798410121307>" , 0 , 0 , 0 ] ,
47
+ [ ":n:1245079798410121307>" , 0 , 0 , 0 ] ,
48
+ [ "a:n:1245079798410121307>" , 0 , 0 , 0 ] ,
49
+ [ ":name:1>" , 0 , 0 , 0 ] ,
50
+ [ "a:name:1>" , 0 , 0 , 0 ] ,
51
+ [ ":n:1>" , 0 , 0 , 0 ] ,
52
+ [ "a:n:1>" , 0 , 0 , 0 ] ,
53
+ [ "<:name:1245079798410121307" , 0 , 0 , 0 ] ,
54
+ [ "<a:name:1245079798410121307" , 0 , 0 , 0 ] ,
55
+ [ "<:n:1245079798410121307" , 0 , 0 , 0 ] ,
56
+ [ "<a:n:1245079798410121307" , 0 , 0 , 0 ] ,
57
+ [ "<:name:1" , 0 , 0 , 0 ] ,
58
+ [ "<a:name:1" , 0 , 0 , 0 ] ,
59
+ [ "<:n:1" , 0 , 0 , 0 ] ,
60
+ [ "<a:n:1" , 0 , 0 , 0 ] ,
61
+ [ ":name:1245079798410121307" , 0 , 0 , 0 ] ,
62
+ [ "a:name:1245079798410121307" , 0 , 0 , 0 ] ,
63
+ [ ":n:1245079798410121307" , 0 , 0 , 0 ] ,
64
+ [ "a:n:1245079798410121307" , 0 , 0 , 0 ] ,
65
+ [ ":name:1" , 0 , 0 , 0 ] ,
66
+ [ "a:name:1 ID: abcs.ID: abcd." , 0 , 0 , 2 ] ,
67
+ [ ":n:1" , 0 , 0 , 0 ] ,
68
+ [ "a:n:1" , 0 , 0 , 0 ] ,
69
+ [ "🫸<:id:3458>" , 1 , 1 , 0 ] ,
70
+ [ "🫸<:custom_emoji:3458>🫸" , 2 , 1 , 0 ] ,
71
+ [ "<:custom:3454458>🫸<:fish:3453453453458>🫸<:something:3458>" , 2 , 3 , 0 ] ,
72
+ [ `<:custom:3454458> ID: a custom emoji ID: whoopee
73
+ 🐈ID: an emoji of a cat. ID: an emoji of a castle
74
+
75
+ 🏰` , 2 , 1 , 4 ] ,
76
+ ] . forEach ( ( [ content , expectedEmojiCount , expectedCustomEmojiCount , expectedImageIdCount ] ) =>
72
77
it (
73
- `That "${ messageContent } " contains ${ expectedEmojiCount } emoji characters and ${ expectedCustomEmojiCount } custom emoji references.` ,
78
+ `That "${ content } " contains ${ expectedEmojiCount } emoji characters and ${ expectedCustomEmojiCount } custom emoji references and ${ expectedImageIdCount } image ids .` ,
74
79
( ) => {
75
80
const imageIdStats = factory
76
81
. createIdBotMessage ( {
77
82
id : createUuid ( ) ,
78
83
attachments : new Map ( ) ,
79
- content : messageContent
84
+ content
80
85
} ) . imageIdStats ;
81
86
expect ( imageIdStats . emojiCount ) . toBe ( expectedEmojiCount ) ;
82
87
expect ( imageIdStats . customEmojiCount ) . toBe ( expectedCustomEmojiCount ) ;
83
- }
84
- )
85
- )
86
- ) ;
87
-
88
-
89
- describe (
90
- "Image ID counting in message content" ,
91
- ( ) => [
92
- [ "" , 0 ] ,
93
- [ " " , 0 ] ,
94
- [ "ID:" , 0 ] ,
95
- [ "ID: a" , 1 ] ,
96
- [ "ID: ab" , 1 ] ,
97
- [ "ID: abc" , 1 ] ,
98
- [ "ID: abcd" , 1 ] ,
99
- [ "ID: abcd. ID: abcd." , 2 ] ,
100
- [ "ID: abcd. ID: a" , 2 ] ,
101
- [ "ID: aID: abcd." , 1 ] ,
102
- [ "ID: abcsID: abcd." , 1 ] ,
103
- [ "ID: abcs. ID: abcd." , 2 ] ,
104
- [ "ID: abcs ID: abcd. ID: abcd" , 3 ]
105
- ] . forEach ( ( [ messageContent , expectedImageIdCount ] ) =>
106
- it (
107
- `That "${ messageContent } " contains ${ expectedImageIdCount } identifiers` ,
108
- ( ) => {
109
- const discordMessage = factory
110
- . createIdBotMessage ( {
111
- id : createUuid ( ) ,
112
- attachments : new Map ( ) ,
113
- content : messageContent
114
- } ) ;
115
-
116
- expect ( discordMessage . imageIdStats . imageIdentifierCount ) . toBe ( expectedImageIdCount ) ;
88
+ expect ( imageIdStats . imageIdentifierCount ) . toBe ( expectedImageIdCount ) ;
117
89
}
118
90
)
119
91
)
0 commit comments