@@ -467,6 +467,7 @@ def mock_external_classes(self, mocker: MockerFixture, msg_box: MessageBox) -> N
467
467
message = self .message ,
468
468
topic_links = OrderedDict (),
469
469
message_links = OrderedDict (),
470
+ code_snippets = list (),
470
471
time_mentions = list (),
471
472
title = "Full Rendered Message" ,
472
473
)
@@ -519,6 +520,7 @@ def test_keypress_show_msg_info(
519
520
msg = self .message ,
520
521
topic_links = OrderedDict (),
521
522
message_links = OrderedDict (),
523
+ code_snippets = list (),
522
524
time_mentions = list (),
523
525
)
524
526
@@ -543,6 +545,7 @@ def mock_external_classes(self, mocker: MockerFixture, msg_box: MessageBox) -> N
543
545
message = self .message ,
544
546
topic_links = OrderedDict (),
545
547
message_links = OrderedDict (),
548
+ code_snippets = list (),
546
549
time_mentions = list (),
547
550
title = "Full Raw Message" ,
548
551
)
@@ -595,6 +598,7 @@ def test_keypress_show_msg_info(
595
598
msg = self .message ,
596
599
topic_links = OrderedDict (),
597
600
message_links = OrderedDict (),
601
+ code_snippets = list (),
598
602
time_mentions = list (),
599
603
)
600
604
@@ -618,6 +622,7 @@ def mock_external_classes(self, mocker: MockerFixture) -> None:
618
622
message = self .message ,
619
623
topic_links = OrderedDict (),
620
624
message_links = OrderedDict (),
625
+ code_snippets = list (),
621
626
time_mentions = list (),
622
627
title = "Edit History" ,
623
628
)
@@ -666,6 +671,7 @@ def test_keypress_show_msg_info(
666
671
msg = self .message ,
667
672
topic_links = OrderedDict (),
668
673
message_links = OrderedDict (),
674
+ code_snippets = list (),
669
675
time_mentions = list (),
670
676
)
671
677
@@ -944,6 +950,7 @@ def mock_external_classes(
944
950
OrderedDict (),
945
951
OrderedDict (),
946
952
list (),
953
+ list (),
947
954
)
948
955
949
956
def test_init (self , message_fixture : Message ) -> None :
@@ -961,6 +968,7 @@ def test_pop_up_info_order(self, message_fixture: Message) -> None:
961
968
title = "Message Information" ,
962
969
topic_links = topic_links ,
963
970
message_links = message_links ,
971
+ code_snippets = list (),
964
972
time_mentions = list (),
965
973
)
966
974
msg_links = msg_info_view .button_widgets
@@ -1009,6 +1017,7 @@ def test_keypress_edit_history(
1009
1017
title = "Message Information" ,
1010
1018
topic_links = OrderedDict (),
1011
1019
message_links = OrderedDict (),
1020
+ code_snippets = list (),
1012
1021
time_mentions = list (),
1013
1022
)
1014
1023
size = widget_size (msg_info_view )
@@ -1020,6 +1029,7 @@ def test_keypress_edit_history(
1020
1029
message = message_fixture ,
1021
1030
topic_links = OrderedDict (),
1022
1031
message_links = OrderedDict (),
1032
+ code_snippets = list (),
1023
1033
time_mentions = list (),
1024
1034
)
1025
1035
else :
@@ -1038,6 +1048,7 @@ def test_keypress_full_rendered_message(
1038
1048
title = "Message Information" ,
1039
1049
topic_links = OrderedDict (),
1040
1050
message_links = OrderedDict (),
1051
+ code_snippets = list (),
1041
1052
time_mentions = list (),
1042
1053
)
1043
1054
size = widget_size (msg_info_view )
@@ -1048,6 +1059,7 @@ def test_keypress_full_rendered_message(
1048
1059
message = message_fixture ,
1049
1060
topic_links = OrderedDict (),
1050
1061
message_links = OrderedDict (),
1062
+ code_snippets = list (),
1051
1063
time_mentions = list (),
1052
1064
)
1053
1065
@@ -1064,6 +1076,7 @@ def test_keypress_full_raw_message(
1064
1076
title = "Message Information" ,
1065
1077
topic_links = OrderedDict (),
1066
1078
message_links = OrderedDict (),
1079
+ code_snippets = list (),
1067
1080
time_mentions = list (),
1068
1081
)
1069
1082
size = widget_size (msg_info_view )
@@ -1074,6 +1087,7 @@ def test_keypress_full_raw_message(
1074
1087
message = message_fixture ,
1075
1088
topic_links = OrderedDict (),
1076
1089
message_links = OrderedDict (),
1090
+ code_snippets = list (),
1077
1091
time_mentions = list (),
1078
1092
)
1079
1093
@@ -1103,7 +1117,7 @@ def test_keypress_view_in_browser(
1103
1117
assert self .controller .open_in_browser .called
1104
1118
1105
1119
def test_height_noreactions (self ) -> None :
1106
- expected_height = 8
1120
+ expected_height = 9
1107
1121
# 6 = 1 (date & time) +1 (sender's name) +1 (sender's email)
1108
1122
# +1 (display group header)
1109
1123
# +1 (whitespace column)
@@ -1176,10 +1190,11 @@ def test_height_reactions(
1176
1190
OrderedDict (),
1177
1191
OrderedDict (),
1178
1192
list (),
1193
+ list (),
1179
1194
)
1180
1195
# 12 = 7 labels + 2 blank lines + 1 'Reactions' (category)
1181
1196
# + 4 reactions (excluding 'Message Links').
1182
- expected_height = 14
1197
+ expected_height = 15
1183
1198
assert self .msg_info_view .height == expected_height
1184
1199
1185
1200
@pytest .mark .parametrize (
@@ -1229,6 +1244,54 @@ def test_create_link_buttons(
1229
1244
assert link_w ._wrapped_widget .attr_map == expected_attr_map
1230
1245
assert link_width == expected_link_width
1231
1246
1247
+ @pytest .mark .parametrize (
1248
+ [
1249
+ "initial_code_snippet" ,
1250
+ "expected_code" ,
1251
+ "expected_attr_map" ,
1252
+ "expected_focus_map" ,
1253
+ ],
1254
+ [
1255
+ (
1256
+ [
1257
+ (
1258
+ "Python" ,
1259
+ [
1260
+ ("pygments:k" , "def" ),
1261
+ ("pygments:w" , " " ),
1262
+ ("pygments:nf" , "main" ),
1263
+ ("pygments:p" , "()" ),
1264
+ ("pygments:w" , "\n " ),
1265
+ ("pygments:nb" , "print" ),
1266
+ ("pygments:p" , "(" ),
1267
+ ("pygments:s2" , '"Hello"' ),
1268
+ ("pygments:p" , ")" ),
1269
+ ("pygments:w" , "\n " ),
1270
+ ],
1271
+ )
1272
+ ],
1273
+ '1: Python\n def main()\n print("Hello")...' ,
1274
+ {None : "popup_contrast" },
1275
+ {None : "selected" },
1276
+ )
1277
+ ],
1278
+ ids = ["with_code_snippet" ],
1279
+ )
1280
+ def test_create_code_snippet_buttons (
1281
+ self ,
1282
+ initial_code_snippet : List [Tuple [str , List [Tuple [str , str ]]]],
1283
+ expected_code : str ,
1284
+ expected_attr_map : Dict [None , str ],
1285
+ expected_focus_map : Dict [None , str ],
1286
+ ) -> None :
1287
+ [code_w ], _ = self .msg_info_view .create_code_snippet_buttons (
1288
+ self .controller , initial_code_snippet
1289
+ )
1290
+
1291
+ assert code_w ._wrapped_widget .original_widget .text == expected_code
1292
+ assert code_w ._wrapped_widget .focus_map == expected_focus_map
1293
+ assert code_w ._wrapped_widget .attr_map == expected_attr_map
1294
+
1232
1295
1233
1296
class TestStreamInfoView :
1234
1297
@pytest .fixture (autouse = True )
0 commit comments