Skip to content

Commit dfa24db

Browse files
fix : fix Failed test
- make sure it passes all the test
1 parent f165daa commit dfa24db

File tree

4 files changed

+29
-30
lines changed

4 files changed

+29
-30
lines changed

tests/config/test_keys.py

+12-12
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import pytest
44
from pytest_mock import MockerFixture
55

6-
from zulipterminal.config import keys
6+
from zulipterminal.config import keys
77

88

99
AVAILABLE_COMMANDS = list(keys.key_config.KEY_BINDINGS.keys())
@@ -32,11 +32,11 @@ def test_keys_for_command(valid_command: str) -> None:
3232
def test_primary_key_for_command(valid_command: str) -> None:
3333
assert keys.key_config.KEY_BINDINGS[valid_command]["keys"][
3434
0
35-
] == keys.key_config.key_config.key_config.primary_key_for_command(valid_command)
35+
] == keys.key_config.primary_key_for_command(valid_command)
3636

3737

3838
def test_keys_for_command_invalid_command(invalid_command: str) -> None:
39-
with pytest.raises(keys.key_config.InvalidCommand):
39+
with pytest.raises(keys.InvalidCommand):
4040
keys.key_config.keys_for_command(invalid_command)
4141

4242

@@ -53,20 +53,20 @@ def test_keys_for_command_identity(valid_command: str) -> None:
5353

5454
def test_is_command_key_matching_keys(valid_command: str) -> None:
5555
for key in keys.key_config.keys_for_command(valid_command):
56-
assert keys.key_config.key_config.key_config.is_command_key(valid_command, key)
56+
assert keys.key_config.is_command_key(valid_command, key)
5757

5858

5959
def test_is_command_key_nonmatching_keys(valid_command: str) -> None:
6060
keys_to_test = USED_KEYS - set(keys.key_config.keys_for_command(valid_command))
6161
for key in keys_to_test:
62-
assert not keys.key_config.key_config.key_config.is_command_key(
62+
assert not keys.key_config.is_command_key(
6363
valid_command, key
6464
)
6565

6666

6767
def test_is_command_key_invalid_command(invalid_command: str) -> None:
68-
with pytest.raises(keys.key_config.InvalidCommand):
69-
keys.key_config.key_config.key_config.is_command_key(
68+
with pytest.raises(keys.InvalidCommand):
69+
keys.key_config.is_command_key(
7070
invalid_command, "esc"
7171
) # key doesn't matter
7272

@@ -117,7 +117,7 @@ def test_updated_urwid_command_map() -> None:
117117
v: k for k, v in keys.key_config.ZT_TO_URWID_CMD_MAPPING.items()
118118
}
119119
# Check if keys in command map are actually the ones in KEY_BINDINGS
120-
for key, urwid_cmd in keys.key_config.command_map._command.items():
120+
for key, urwid_cmd in keys.command_map._command.items():
121121
try:
122122
zt_cmd = urwid_to_zt_mapping[urwid_cmd]
123123
assert key in keys.key_config.keys_for_command(zt_cmd)
@@ -162,19 +162,19 @@ def test_display_key_for_urwid_key(urwid_key: str, display_key: str) -> None:
162162
@pytest.mark.parametrize("command, display_keys", COMMAND_TO_DISPLAY_KEYS)
163163
def test_display_keys_for_command(command: str, display_keys: List[str]) -> None:
164164
assert (
165-
keys.key_config.key_config.key_config.display_keys_for_command(command)
165+
keys.key_config.display_keys_for_command(command)
166166
== display_keys
167167
)
168168

169169

170170
@pytest.mark.parametrize("command, display_keys", COMMAND_TO_DISPLAY_KEYS)
171171
def test_primary_display_key_for_command(command: str, display_keys: List[str]) -> None:
172172
assert (
173-
keys.key_config.key_config.key_config.primary_display_key_for_command(command)
173+
keys.key_config.primary_display_key_for_command(command)
174174
== display_keys[0]
175175
)
176176

177177

178178
def test_display_keys_for_command_invalid_command(invalid_command: str) -> None:
179-
with pytest.raises(keys.key_config.InvalidCommand):
180-
keys.key_config.key_config.key_config.display_keys_for_command(invalid_command)
179+
with pytest.raises(keys.InvalidCommand):
180+
keys.key_config.display_keys_for_command(invalid_command)

tests/ui_tools/test_boxes.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -1841,9 +1841,7 @@ class TestPanelSearchBox:
18411841
@pytest.fixture
18421842
def panel_search_box(self, mocker: MockerFixture) -> PanelSearchBox:
18431843
# X is the return from key_config.display_key_config.keys_for_command("UNTESTED_TOKEN")
1844-
mocker.patch(
1845-
MODULE + ".key_config.display_key_config.keys_for_command", return_value="X"
1846-
)
1844+
mocker.patch(MODULE + ".key_config.display_keys_for_command", return_value="X")
18471845
panel_view = mocker.Mock()
18481846
update_func = mocker.Mock()
18491847
return PanelSearchBox(panel_view, "UNTESTED_TOKEN", update_func)

zulipterminal/config/keys.py

+11-14
Original file line numberDiff line numberDiff line change
@@ -525,7 +525,7 @@ def primary_key_for_command(self, command: str) -> str:
525525
"""
526526
Primary Key is the key that will be displayed eg. in the UI
527527
"""
528-
return keys_for_command(command).pop(0)
528+
return self.keys_for_command(command).pop(0)
529529

530530
URWID_KEY_TO_DISPLAY_KEY_MAPPING = {
531531
"page up": "PgUp",
@@ -559,7 +559,7 @@ def display_keys_for_command(self, command: str) -> List[str]:
559559
"""
560560
return [
561561
self.display_key_for_urwid_key(urwid_key)
562-
for urwid_key in keys_for_command(command)
562+
for urwid_key in self.keys_for_command(command)
563563
]
564564

565565
def primary_display_key_for_command(self, command: str) -> str:
@@ -577,6 +577,14 @@ def commands_for_random_tips(self) -> List[KeyBinding]:
577577
for key_binding in self.KEY_BINDINGS.values()
578578
if not key_binding.get("excluded_from_random_tips", False)
579579
]
580+
def keys_for_command(self,command: str) -> List[str]:
581+
"""
582+
Returns the actual keys for a given mapped command
583+
"""
584+
try:
585+
return list(self.KEY_BINDINGS[command]["keys"])
586+
except KeyError as exception:
587+
raise InvalidCommand(command) from exception
580588

581589

582590
# Create a shared instance of KeyConfig
@@ -589,19 +597,8 @@ def initialize_command_map(key_config: KeyConfig) -> None:
589597
Adds alternate keys for standard urwid navigational commands.
590598
"""
591599
for zt_cmd, urwid_cmd in key_config.ZT_TO_URWID_CMD_MAPPING.items():
592-
for key in keys_for_command(zt_cmd):
600+
for key in key_config.keys_for_command(zt_cmd):
593601
command_map[key] = urwid_cmd
594602

595-
596-
def keys_for_command(command: str) -> List[str]:
597-
"""
598-
Returns the actual keys for a given mapped command
599-
"""
600-
try:
601-
return list(key_config.KEY_BINDINGS[command]["keys"])
602-
except KeyError as exception:
603-
raise InvalidCommand(command) from exception
604-
605-
606603
# Initialize the command map after the KeyConfig instance is fully initialized
607604
initialize_command_map(key_config)

zulipterminal/core.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,11 @@ def __init__(
113113
config.read_file(f, config_file)
114114
if self.feature_level is None:
115115
self.feature_level = self.get_feature_level(config.get("api", "site"))
116-
self.terminology = "channel" if int(self.feature_level) > 254 else "stream"
116+
if self.feature_level.isdigit():
117+
self.feature_level = int(self.feature_level)
118+
else:
119+
self.feature_level = 0
120+
self.terminology = "channel" if self.feature_level > 254 else "stream"
117121
self.key_config = key_config
118122
self.key_config.set_terminology(
119123
self.terminology

0 commit comments

Comments
 (0)