# -*- coding: utf-8; -*- from __future__ import unicode_literals from unittest import TestCase from emojipy import Emoji class ConversionTests(TestCase): """ Test possible conversions from different kinds of input with unicode or shortname at different places """ def setUp(self): self.emoji = Emoji self.emoji.sprites = False self.cache_bust_param = Emoji.cache_bust_param def test_single_unicode_char(self): unicode = '🐌' shortcode = ':snail:' image = '🐌' self.assertEqual(Emoji.unicode_to_image(unicode), image) self.assertEqual(Emoji.shortcode_to_image(shortcode), image) def test_emoji_inside_sentence(self): unicode = 'The 🐌 is Emoji One\'s official mascot.' shortcode = 'The :snail: is Emoji One\'s official mascot.' image = 'The 🐌 is Emoji One\'s official mascot.' self.assertEqual(Emoji.unicode_to_image(unicode), image) self.assertEqual(Emoji.shortcode_to_image(shortcode), image) def test_emoji_inside_sentence_with_comma(self): unicode = 'The 🐌, is Emoji One\'s official mascot.' shortcode = 'The :snail:, is Emoji One\'s official mascot.' image = 'The 🐌, is Emoji One\'s official mascot.' self.assertEqual(Emoji.unicode_to_image(unicode), image) self.assertEqual(Emoji.shortcode_to_image(shortcode), image) def test_emoji_at_start_of_sentence(self): unicode = '🐌 mail.' shortcode = ':snail: mail.' image = '🐌 mail.' self.assertEqual(Emoji.unicode_to_image(unicode), image) self.assertEqual(Emoji.shortcode_to_image(shortcode), image) def test_emoji_at_start_of_sentence_with_apostrophe(self): unicode = '🐌\'s are cool!' shortcode = ':snail:\'s are cool!' image = '🐌\'s are cool!' self.assertEqual(Emoji.unicode_to_image(unicode), image) self.assertEqual(Emoji.shortcode_to_image(shortcode), image) def test_emoji_at_end_of_sentence(self): unicode = 'Emoji One\'s official mascot is 🐌.' shortcode = 'Emoji One\'s official mascot is :snail:.' image = 'Emoji One\'s official mascot is 🐌.' self.assertEqual(Emoji.unicode_to_image(unicode), image) self.assertEqual(Emoji.shortcode_to_image(shortcode), image) def test_emoji_at_end_of_sentence_with_alternate_punctuation(self): unicode = 'Emoji One\'s official mascot is 🐌!' shortcode = 'Emoji One\'s official mascot is :snail:!' image = 'Emoji One\'s official mascot is 🐌!' self.assertEqual(Emoji.unicode_to_image(unicode), image) self.assertEqual(Emoji.shortcode_to_image(shortcode), image) def test_emoji_at_end_of_sentence_with_preceeding_colon(self): unicode = 'Emoji One\'s official mascot: 🐌' shortcode = 'Emoji One\'s official mascot: :snail:' image = 'Emoji One\'s official mascot: 🐌' self.assertEqual(Emoji.unicode_to_image(unicode), image) self.assertEqual(Emoji.shortcode_to_image(shortcode), image) def test_emoji_inside_img_tag(self): unicode = 'The 🐌 is Emoji One\'s official mascot.'; self.assertEqual(Emoji.unicode_to_image(unicode), unicode) self.assertEqual(Emoji.shortcode_to_image(unicode), unicode) def test_emoji_inside_object_tag(self): unicode = 'The 🐌 is Emoji One\'s official mascot' self.assertEqual(Emoji.unicode_to_image(unicode), unicode) self.assertEqual(Emoji.shortcode_to_image(unicode), unicode)