Skip to content

Commit 40e454f

Browse files
boxes/core/views: Pass spoiler data to MsgInfoView popup helpers.
Tests amended. Co-authored-by: Preet Mishra <[email protected]>
1 parent 3d2fbe7 commit 40e454f

File tree

4 files changed

+23
-1
lines changed

4 files changed

+23
-1
lines changed

tests/ui_tools/test_popups.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@ def mock_external_classes(self, mocker):
229229
topic_links=OrderedDict(),
230230
message_links=OrderedDict(),
231231
time_mentions=list(),
232+
spoilers=list(),
232233
title="Edit History",
233234
)
234235

@@ -238,6 +239,7 @@ def test_init(self):
238239
assert self.edit_history_view.topic_links == OrderedDict()
239240
assert self.edit_history_view.message_links == OrderedDict()
240241
assert self.edit_history_view.time_mentions == list()
242+
assert self.edit_history_view.spoilers == list()
241243
self.controller.model.fetch_message_history.assert_called_once_with(
242244
message_id=self.message["id"],
243245
)
@@ -271,6 +273,7 @@ def test_keypress_show_msg_info(self, key, widget_size):
271273
topic_links=OrderedDict(),
272274
message_links=OrderedDict(),
273275
time_mentions=list(),
276+
spoilers=list(),
274277
)
275278

276279
def test_keypress_navigation(
@@ -542,13 +545,15 @@ def mock_external_classes(self, mocker, monkeypatch, message_fixture):
542545
OrderedDict(),
543546
OrderedDict(),
544547
list(),
548+
list(),
545549
)
546550

547551
def test_init(self, message_fixture):
548552
assert self.msg_info_view.msg == message_fixture
549553
assert self.msg_info_view.topic_links == OrderedDict()
550554
assert self.msg_info_view.message_links == OrderedDict()
551555
assert self.msg_info_view.time_mentions == list()
556+
assert self.msg_info_view.spoilers == list()
552557

553558
def test_keypress_any_key(self, widget_size):
554559
key = "a"
@@ -592,6 +597,7 @@ def test_keypress_edit_history(
592597
topic_links=OrderedDict(),
593598
message_links=OrderedDict(),
594599
time_mentions=list(),
600+
spoilers=list(),
595601
)
596602
size = widget_size(msg_info_view)
597603

@@ -603,6 +609,7 @@ def test_keypress_edit_history(
603609
topic_links=OrderedDict(),
604610
message_links=OrderedDict(),
605611
time_mentions=list(),
612+
spoilers=list(),
606613
)
607614
else:
608615
self.controller.show_edit_history.assert_not_called()
@@ -688,6 +695,7 @@ def test_height_reactions(self, message_fixture, to_vary_in_each_message):
688695
OrderedDict(),
689696
OrderedDict(),
690697
list(),
698+
list(),
691699
)
692700
# 10 = 4 labels + 1 blank line + 1 'Reactions' (category)
693701
# + 4 reactions (excluding 'Message Links').

zulipterminal/core.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,7 @@ def show_msg_info(
248248
topic_links: "OrderedDict[str, Tuple[str, int, bool]]",
249249
message_links: "OrderedDict[str, Tuple[str, int, bool]]",
250250
time_mentions: List[Tuple[str, str]],
251+
spoilers: List[Tuple[int, List[Any], List[Any]]],
251252
) -> None:
252253
msg_info_view = MsgInfoView(
253254
self,
@@ -256,6 +257,7 @@ def show_msg_info(
256257
topic_links,
257258
message_links,
258259
time_mentions,
260+
spoilers,
259261
)
260262
self.show_pop_up(msg_info_view, "area:msg")
261263

@@ -293,6 +295,7 @@ def show_edit_history(
293295
topic_links: "OrderedDict[str, Tuple[str, int, bool]]",
294296
message_links: "OrderedDict[str, Tuple[str, int, bool]]",
295297
time_mentions: List[Tuple[str, str]],
298+
spoilers: List[Tuple[int, List[Any], List[Any]]],
296299
) -> None:
297300
self.show_pop_up(
298301
EditHistoryView(
@@ -301,6 +304,7 @@ def show_edit_history(
301304
topic_links,
302305
message_links,
303306
time_mentions,
307+
spoilers,
304308
"Edit History (up/down scrolls)",
305309
),
306310
"area:msg",

zulipterminal/ui_tools/boxes.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1701,7 +1701,11 @@ def keypress(self, size: urwid_Size, key: str) -> Optional[str]:
17011701
self.model.controller.view.middle_column.set_focus("footer")
17021702
elif is_command_key("MSG_INFO", key):
17031703
self.model.controller.show_msg_info(
1704-
self.message, self.topic_links, self.message_links, self.time_mentions
1704+
self.message,
1705+
self.topic_links,
1706+
self.message_links,
1707+
self.time_mentions,
1708+
self.spoilers,
17051709
)
17061710
return key
17071711

zulipterminal/ui_tools/views.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1294,11 +1294,13 @@ def __init__(
12941294
topic_links: "OrderedDict[str, Tuple[str, int, bool]]",
12951295
message_links: "OrderedDict[str, Tuple[str, int, bool]]",
12961296
time_mentions: List[Tuple[str, str]],
1297+
spoilers: List[Tuple[int, List[Any], List[Any]]],
12971298
) -> None:
12981299
self.msg = msg
12991300
self.topic_links = topic_links
13001301
self.message_links = message_links
13011302
self.time_mentions = time_mentions
1303+
self.spoilers = spoilers
13021304
self.server_url = controller.model.server_url
13031305
date_and_time = controller.model.formatted_local_time(
13041306
msg["timestamp"], show_seconds=True, show_year=True
@@ -1417,6 +1419,7 @@ def keypress(self, size: urwid_Size, key: str) -> str:
14171419
topic_links=self.topic_links,
14181420
message_links=self.message_links,
14191421
time_mentions=self.time_mentions,
1422+
spoilers=self.spoilers,
14201423
)
14211424
elif is_command_key("VIEW_IN_BROWSER", key):
14221425
url = near_message_url(self.server_url[:-1], self.msg)
@@ -1468,13 +1471,15 @@ def __init__(
14681471
topic_links: "OrderedDict[str, Tuple[str, int, bool]]",
14691472
message_links: "OrderedDict[str, Tuple[str, int, bool]]",
14701473
time_mentions: List[Tuple[str, str]],
1474+
spoilers: List[Tuple[int, List[Any], List[Any]]],
14711475
title: str,
14721476
) -> None:
14731477
self.controller = controller
14741478
self.message = message
14751479
self.topic_links = topic_links
14761480
self.message_links = message_links
14771481
self.time_mentions = time_mentions
1482+
self.spoilers = spoilers
14781483
width = 64
14791484
widgets: List[Any] = []
14801485

@@ -1573,6 +1578,7 @@ def keypress(self, size: urwid_Size, key: str) -> str:
15731578
topic_links=self.topic_links,
15741579
message_links=self.message_links,
15751580
time_mentions=self.time_mentions,
1581+
spoilers=self.spoilers,
15761582
)
15771583
return key
15781584
return super().keypress(size, key)

0 commit comments

Comments
 (0)