def test_lookup_slang_when_both_urbandictionary_and_kamusslang_have_no_definition(mocker): mocker.patch('tululbot.utils.slang.lookup_urbandictionary', return_value=None, autospec=True) mocker.patch('tululbot.utils.slang.lookup_kamusslang', return_value=None, autospec=True) rv = lookup_slang('hitomi wo tojireba anata ga') assert rv == 'Gak nemu cuy'
def test_lookup_slang_when_only_urbandictionary_has_definition(mocker): fake_definition = 'soba ni itai yo' mocker.patch('tululbot.utils.slang.lookup_urbandictionary', return_value=fake_definition, autospec=True) mocker.patch('tululbot.utils.slang.lookup_kamusslang', return_value=None, autospec=True) rv = lookup_slang('kimi no tame ni dekiru koto ga, boku ni aru kana?') assert rv == fake_definition
def test_lookup_slang_when_only_kamusslang_has_definition(mocker): fake_definition = 'nagareru kisetsu no mannaka de' mocker.patch('tululbot.utils.slang.lookup_urbandictionary', return_value=None, autospec=True) mocker.patch('tululbot.utils.slang.lookup_kamusslang', return_value=fake_definition, autospec=True) rv = lookup_slang('futohi no nagasa wo kanjimasu') assert rv == fake_definition
def test_lookup_slang_when_both_urbandictionary_and_kamusslang_have_no_definition( mocker): mocker.patch('tululbot.utils.slang.lookup_urbandictionary', return_value=None, autospec=True) mocker.patch('tululbot.utils.slang.lookup_kamusslang', return_value=None, autospec=True) rv = lookup_slang('hitomi wo tojireba anata ga') assert rv == 'Gak nemu cuy'
def test_lookup_slang_when_both_urbandictionary_and_kamusslang_have_definition(mocker): fake_urbandict_def = 'mabuta no ura ni iru koto de' fake_kamusslang_def = 'dore hodo tsuyoku nareta deshou' mocker.patch('tululbot.utils.slang.lookup_urbandictionary', return_value=fake_urbandict_def, autospec=True) mocker.patch('tululbot.utils.slang.lookup_kamusslang', return_value=fake_kamusslang_def, autospec=True) rv = lookup_slang('anata ni totte watashi mo') fake_definition = ( '\U000026AB *urbandictionary*:\n{}' '\n\n' '\U000026AB *kamusslang*:\n{}' ).format(fake_urbandict_def, fake_kamusslang_def) assert rv == fake_definition
def test_lookup_slang_when_both_urbandictionary_and_kamusslang_have_definition( mocker): fake_urbandict_def = 'mabuta no ura ni iru koto de' fake_kamusslang_def = 'dore hodo tsuyoku nareta deshou' mocker.patch('tululbot.utils.slang.lookup_urbandictionary', return_value=fake_urbandict_def, autospec=True) mocker.patch('tululbot.utils.slang.lookup_kamusslang', return_value=fake_kamusslang_def, autospec=True) rv = lookup_slang('anata ni totte watashi mo') fake_definition = ('\U000026AB *urbandictionary*:\n{}' '\n\n' '\U000026AB *kamusslang*:\n{}').format( fake_urbandict_def, fake_kamusslang_def) assert rv == fake_definition
def slang(message): app.logger.debug('Detected slang command {!r}'.format(message.text)) try: if message.text.startswith('/slang'): _, term = message.text.split(' ', maxsplit=1) else: term = message.text except ValueError: app.logger.debug('Cannot split text {!r}'.format(message.text)) bot.reply_to(message, 'Apa yang mau dicari jir?', force_reply=True) else: try: definition = lookup_slang(term) except HTTPError: bot.reply_to(message, 'Aduh ada error nich') except ConnectionError: bot.reply_to(message, "Koneksi lagi bapuk nih :'(") else: app.logger.debug('Extracted slang term {!r}'.format(term)) bot.reply_to(message, definition, parse_mode='Markdown')