Add full coverage for previous commit
This commit is contained in:
		
							parent
							
								
									8d452102d5
								
							
						
					
					
						commit
						9158eb2476
					
				
					 3 changed files with 47 additions and 1 deletions
				
			
		| 
						 | 
					@ -268,6 +268,7 @@ async function messageToEvent(message, guild, options = {}, di) {
 | 
				
			||||||
	 * @param {string} content Partial or complete Discord message content
 | 
						 * @param {string} content Partial or complete Discord message content
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	async function transformContentMessageLinks(content) {
 | 
						async function transformContentMessageLinks(content) {
 | 
				
			||||||
 | 
							let offset = 0
 | 
				
			||||||
		for (const match of [...content.matchAll(/https:\/\/(?:ptb\.|canary\.|www\.)?discord(?:app)?\.com\/channels\/([0-9]+)\/([0-9]+)\/([0-9]+)/g)]) {
 | 
							for (const match of [...content.matchAll(/https:\/\/(?:ptb\.|canary\.|www\.)?discord(?:app)?\.com\/channels\/([0-9]+)\/([0-9]+)\/([0-9]+)/g)]) {
 | 
				
			||||||
			assert(typeof match.index === "number")
 | 
								assert(typeof match.index === "number")
 | 
				
			||||||
			const channelID = match[2]
 | 
								const channelID = match[2]
 | 
				
			||||||
| 
						 | 
					@ -286,7 +287,8 @@ async function messageToEvent(message, guild, options = {}, di) {
 | 
				
			||||||
			} else {
 | 
								} else {
 | 
				
			||||||
				result = `${match[0]} [event is from another server]`
 | 
									result = `${match[0]} [event is from another server]`
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			content = content.slice(0, match.index) + result + content.slice(match.index + match[0].length)
 | 
								content = content.slice(0, match.index + offset) + result + content.slice(match.index + match[0].length + offset)
 | 
				
			||||||
 | 
								offset += result.length - match[0].length
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		return content
 | 
							return content
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -136,6 +136,19 @@ test("message2event: message link that OOYE doesn't know about", async t => {
 | 
				
			||||||
	t.equal(called, 1, "getEventForTimestamp should be called once")
 | 
						t.equal(called, 1, "getEventForTimestamp should be called once")
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					test("message2event: message link from another server", async t => {
 | 
				
			||||||
 | 
						const events = await messageToEvent(data.message.message_link_from_another_server, data.guild.general)
 | 
				
			||||||
 | 
						t.deepEqual(events, [{
 | 
				
			||||||
 | 
							$type: "m.room.message",
 | 
				
			||||||
 | 
							"m.mentions": {},
 | 
				
			||||||
 | 
							msgtype: "m.text",
 | 
				
			||||||
 | 
							body: "Neither of these servers are known to OOYE: https://discord.com/channels/111/222/333 [event is from another server] https://canary.discordapp.com/channels/444/555/666 [event is from another server]",
 | 
				
			||||||
 | 
							format: "org.matrix.custom.html",
 | 
				
			||||||
 | 
							formatted_body: 'Neither of these servers are known to OOYE: <a href="https://discord.com/channels/111/222/333">https://discord.com/channels/111/222/333</a> [event is from another server]'
 | 
				
			||||||
 | 
								+ ' <a href="https://canary.discordapp.com/channels/444/555/666">https://canary.discordapp.com/channels/444/555/666</a> [event is from another server]'
 | 
				
			||||||
 | 
						}])
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
test("message2event: attachment with no content", async t => {
 | 
					test("message2event: attachment with no content", async t => {
 | 
				
			||||||
	const events = await messageToEvent(data.message.attachment_no_content, data.guild.general, {})
 | 
						const events = await messageToEvent(data.message.attachment_no_content, data.guild.general, {})
 | 
				
			||||||
	t.deepEqual(events, [{
 | 
						t.deepEqual(events, [{
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										31
									
								
								test/data.js
									
										
									
									
									
								
							
							
						
						
									
										31
									
								
								test/data.js
									
										
									
									
									
								
							| 
						 | 
					@ -603,6 +603,37 @@ module.exports = {
 | 
				
			||||||
			flags: 0,
 | 
								flags: 0,
 | 
				
			||||||
			components: []
 | 
								components: []
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
							message_link_from_another_server: {
 | 
				
			||||||
 | 
								id: "1160824382755708948",
 | 
				
			||||||
 | 
								type: 0,
 | 
				
			||||||
 | 
								content: "Neither of these servers are known to OOYE: https://discord.com/channels/111/222/333 https://canary.discordapp.com/channels/444/555/666",
 | 
				
			||||||
 | 
								channel_id: "112760669178241024",
 | 
				
			||||||
 | 
								author: {
 | 
				
			||||||
 | 
									id: "271237147401045000",
 | 
				
			||||||
 | 
									username: "jinx",
 | 
				
			||||||
 | 
									avatar: "a0ba563c16aff137289f67f38545807f",
 | 
				
			||||||
 | 
									discriminator: "0",
 | 
				
			||||||
 | 
									public_flags: 0,
 | 
				
			||||||
 | 
									premium_type: 0,
 | 
				
			||||||
 | 
									flags: 0,
 | 
				
			||||||
 | 
									banner: null,
 | 
				
			||||||
 | 
									accent_color: null,
 | 
				
			||||||
 | 
									global_name: "Jinx",
 | 
				
			||||||
 | 
									avatar_decoration_data: null,
 | 
				
			||||||
 | 
									banner_color: null
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
								attachments: [],
 | 
				
			||||||
 | 
								embeds: [],
 | 
				
			||||||
 | 
								mentions: [],
 | 
				
			||||||
 | 
								mention_roles: [],
 | 
				
			||||||
 | 
								pinned: false,
 | 
				
			||||||
 | 
								mention_everyone: false,
 | 
				
			||||||
 | 
								tts: false,
 | 
				
			||||||
 | 
								timestamp: '2023-10-09T06:21:39.923000+00:00',
 | 
				
			||||||
 | 
								edited_timestamp: null,
 | 
				
			||||||
 | 
								flags: 0,
 | 
				
			||||||
 | 
								components: []
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
		simple_written_at_mention_for_matrix: {
 | 
							simple_written_at_mention_for_matrix: {
 | 
				
			||||||
			id: "1159030564049915915",
 | 
								id: "1159030564049915915",
 | 
				
			||||||
			type: 0,
 | 
								type: 0,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue