53 lines
1.8 KiB
TypeScript
53 lines
1.8 KiB
TypeScript
import emojify from '@/utils/emojify'
|
|
|
|
describe('emojify', () => {
|
|
const emoji = [
|
|
{
|
|
shortcode: 'python',
|
|
url: 'https://example.com/python'
|
|
},
|
|
{
|
|
shortcode: 'nodejs',
|
|
url: 'https://example.com/nodejs'
|
|
},
|
|
{
|
|
shortcode: 'slack',
|
|
url: 'https://example.com/slack'
|
|
}
|
|
]
|
|
describe('Does not contain shortcode', () => {
|
|
const str = 'I have a pen.'
|
|
it('should not change', () => {
|
|
const result = emojify(str, emoji)
|
|
expect(result).toEqual(str)
|
|
})
|
|
})
|
|
describe('Contain a shortcode', () => {
|
|
const str = 'I like :python:'
|
|
it('should replace', () => {
|
|
const result = emojify(str, emoji)
|
|
expect(result).toEqual(
|
|
'I like <img draggable="false" class="emojione" alt="python" title="python" src="https://example.com/python" />'
|
|
)
|
|
})
|
|
})
|
|
describe('Contain some shortcodes', () => {
|
|
const str = 'I like :python: , :nodejs: and :slack:'
|
|
it('should replace', () => {
|
|
const result = emojify(str, emoji)
|
|
expect(result).toEqual(
|
|
'I like <img draggable="false" class="emojione" alt="python" title="python" src="https://example.com/python" /> , <img draggable="false" class="emojione" alt="nodejs" title="nodejs" src="https://example.com/nodejs" /> and <img draggable="false" class="emojione" alt="slack" title="slack" src="https://example.com/slack" />'
|
|
)
|
|
})
|
|
})
|
|
describe('Contain same shortcodes', () => {
|
|
const str = 'I like :python: , I love :python:'
|
|
it('should replace', () => {
|
|
const result = emojify(str, emoji)
|
|
expect(result).toEqual(
|
|
'I like <img draggable="false" class="emojione" alt="python" title="python" src="https://example.com/python" /> , I love <img draggable="false" class="emojione" alt="python" title="python" src="https://example.com/python" />'
|
|
)
|
|
})
|
|
})
|
|
})
|