def test_de_json(self, bot): json_dict = { "text": self.text, "url": self.url, "callback_data": self.callback_data, "switch_inline_query": self.switch_inline_query, "switch_inline_query_current_chat": self.switch_inline_query_current_chat, "callback_game": self.callback_game.to_dict(), "web_app": self.web_app.to_dict(), "login_url": self.login_url.to_dict(), "pay": self.pay, } inline_keyboard_button = InlineKeyboardButton.de_json(json_dict, None) assert inline_keyboard_button.text == self.text assert inline_keyboard_button.url == self.url assert inline_keyboard_button.callback_data == self.callback_data assert inline_keyboard_button.switch_inline_query == self.switch_inline_query assert ( inline_keyboard_button.switch_inline_query_current_chat == self.switch_inline_query_current_chat ) # CallbackGame has empty _id_attrs, so just test if the class is created. assert isinstance(inline_keyboard_button.callback_game, CallbackGame) assert inline_keyboard_button.pay == self.pay assert inline_keyboard_button.login_url == self.login_url assert inline_keyboard_button.web_app == self.web_app none = InlineKeyboardButton.de_json({}, bot) assert none is None
def de_json(cls, data, bot): if not data: return None keyboard = [] for row in data['inline_keyboard']: tmp = [] for col in row: tmp.append(InlineKeyboardButton.de_json(col, bot)) keyboard.append(tmp) return cls(keyboard)
def de_json(cls, data: Optional[JSONDict], bot: 'Bot') -> Optional['InlineKeyboardMarkup']: data = cls.parse_data(data) if not data: return None keyboard = [] for row in data['inline_keyboard']: tmp = [] for col in row: btn = InlineKeyboardButton.de_json(col, bot) if btn: tmp.append(btn) keyboard.append(tmp) return cls(keyboard)
def test_de_json(self, bot): json_dict = { 'text': self.text, 'url': self.url, 'callback_data': self.callback_data, 'switch_inline_query': self.switch_inline_query, 'switch_inline_query_current_chat': self.switch_inline_query_current_chat, 'callback_game': self.callback_game, 'pay': self.pay } inline_keyboard_button = InlineKeyboardButton.de_json(json_dict, None) assert inline_keyboard_button.text == self.text assert inline_keyboard_button.url == self.url assert inline_keyboard_button.callback_data == self.callback_data assert inline_keyboard_button.switch_inline_query == self.switch_inline_query assert (inline_keyboard_button.switch_inline_query_current_chat == self.switch_inline_query_current_chat) assert inline_keyboard_button.callback_game == self.callback_game assert inline_keyboard_button.pay == self.pay