From 2cc5a8e2a88a4aeb81db09272e905d69f0c3908b Mon Sep 17 00:00:00 2001 From: Hinrich Mahler Date: Sat, 8 Feb 2020 17:05:07 +0100 Subject: [PATCH 1/3] Pass correct parse_mode to InlineResults if bot.defaults is None --- telegram/bot.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/telegram/bot.py b/telegram/bot.py index a75771a87e1..11794a7ad88 100644 --- a/telegram/bot.py +++ b/telegram/bot.py @@ -1512,7 +1512,10 @@ def answer_inline_query(self, for res in results: if res._has_parse_mode and res.parse_mode == DEFAULT_NONE: - res.parse_mode = self.defaults.parse_mode + if self.defaults: + res.parse_mode = self.defaults.parse_mode + else: + res.parse_mode = None if res._has_input_message_content and res.input_message_content: if (res.input_message_content._has_parse_mode and res.input_message_content.parse_mode == DEFAULT_NONE): From 0cd8327b985b57154987ea0f4e6a9009b203ea92 Mon Sep 17 00:00:00 2001 From: Hinrich Mahler Date: Sat, 8 Feb 2020 17:25:31 +0100 Subject: [PATCH 2/3] Add tests for inlinequeryresults with (default)parse_mode --- tests/test_bot.py | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/tests/test_bot.py b/tests/test_bot.py index 1bf5756ed21..fbaba6e88ce 100644 --- a/tests/test_bot.py +++ b/tests/test_bot.py @@ -28,7 +28,8 @@ from telegram import (Bot, Update, ChatAction, TelegramError, User, InlineKeyboardMarkup, InlineKeyboardButton, InlineQueryResultArticle, InputTextMessageContent, - ShippingOption, LabeledPrice, ChatPermissions, Poll) + ShippingOption, LabeledPrice, ChatPermissions, Poll, + InlineQueryResultDocument) from telegram.error import BadRequest, InvalidToken, NetworkError, RetryAfter from telegram.utils.helpers import from_timestamp, escape_markdown @@ -237,6 +238,46 @@ def test(_, url, data, *args, **kwargs): switch_pm_text='switch pm', switch_pm_parameter='start_pm') + @pytest.mark.parametrize('default_bot', [{'parse_mode': 'Markdown'}], indirect=True) + def test_answer_inline_query_default_parse_mode(self, monkeypatch, bot, default_bot): + def test(_, url, data, *args, **kwargs): + print(data) + return data == {'cache_time': 300, + 'results': [{'title': 'test_result', 'id': '123', 'type': 'document', + 'document_url': 'https://raw.githubusercontent.com/' + 'python-telegram-bot/logos/master/logo/png/' + 'ptb-logo_240.png', 'mime_type': 'image/png', + 'caption': 'ptb_logo'}], + 'next_offset': '42', 'switch_pm_parameter': 'start_pm', + 'inline_query_id': 1234, 'is_personal': True, + 'switch_pm_text': 'switch pm'} + + monkeypatch.setattr('telegram.utils.request.Request.post', test) + results = [InlineQueryResultDocument( + id='123', + document_url='https://raw.githubusercontent.com/python-telegram-bot/logos/master/' + 'logo/png/ptb-logo_240.png', + title='test_result', + mime_type='image/png', + caption='ptb_logo', + )] + + assert bot.answer_inline_query(1234, + results=results, + cache_time=300, + is_personal=True, + next_offset='42', + switch_pm_text='switch pm', + switch_pm_parameter='start_pm') + + assert default_bot.answer_inline_query(1234, + results=results, + cache_time=300, + is_personal=True, + next_offset='42', + switch_pm_text='switch pm', + switch_pm_parameter='start_pm') + @flaky(3, 1) @pytest.mark.timeout(10) def test_get_user_profile_photos(self, bot, chat_id): From 466d67f97b3d1aeeefd98046a39522e0607824fa Mon Sep 17 00:00:00 2001 From: Hinrich Mahler Date: Sat, 8 Feb 2020 17:37:06 +0100 Subject: [PATCH 3/3] enhance tests --- tests/test_bot.py | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/tests/test_bot.py b/tests/test_bot.py index fbaba6e88ce..a35f773a183 100644 --- a/tests/test_bot.py +++ b/tests/test_bot.py @@ -238,10 +238,8 @@ def test(_, url, data, *args, **kwargs): switch_pm_text='switch pm', switch_pm_parameter='start_pm') - @pytest.mark.parametrize('default_bot', [{'parse_mode': 'Markdown'}], indirect=True) - def test_answer_inline_query_default_parse_mode(self, monkeypatch, bot, default_bot): + def test_answer_inline_query_no_default_parse_mode(self, monkeypatch, bot): def test(_, url, data, *args, **kwargs): - print(data) return data == {'cache_time': 300, 'results': [{'title': 'test_result', 'id': '123', 'type': 'document', 'document_url': 'https://raw.githubusercontent.com/' @@ -270,6 +268,29 @@ def test(_, url, data, *args, **kwargs): switch_pm_text='switch pm', switch_pm_parameter='start_pm') + @pytest.mark.parametrize('default_bot', [{'parse_mode': 'Markdown'}], indirect=True) + def test_answer_inline_query_default_parse_mode(self, monkeypatch, default_bot): + def test(_, url, data, *args, **kwargs): + return data == {'cache_time': 300, + 'results': [{'title': 'test_result', 'id': '123', 'type': 'document', + 'document_url': 'https://raw.githubusercontent.com/' + 'python-telegram-bot/logos/master/logo/png/' + 'ptb-logo_240.png', 'mime_type': 'image/png', + 'caption': 'ptb_logo', 'parse_mode': 'Markdown'}], + 'next_offset': '42', 'switch_pm_parameter': 'start_pm', + 'inline_query_id': 1234, 'is_personal': True, + 'switch_pm_text': 'switch pm'} + + monkeypatch.setattr('telegram.utils.request.Request.post', test) + results = [InlineQueryResultDocument( + id='123', + document_url='https://raw.githubusercontent.com/python-telegram-bot/logos/master/' + 'logo/png/ptb-logo_240.png', + title='test_result', + mime_type='image/png', + caption='ptb_logo', + )] + assert default_bot.answer_inline_query(1234, results=results, cache_time=300, pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy