Added tests for subreddit.py's new show_frontpage. Refactored getters and setters.

This commit is contained in:
mardiqwop
2016-07-20 16:02:34 -04:00
parent 270f0dff3c
commit 1dbcf22742
4 changed files with 17 additions and 17 deletions

View File

@@ -41,6 +41,8 @@ In subreddit mode you can browse through the top submissions on either the front
:``o`` or ``ENTER``: Open the submission link with your web browser
:``/``: Open a prompt to switch subreddits
:``f``: Open a prompt to search the current subreddit
:``p``: Toggles between FrontPage and last visited subreddit
The ``/`` prompt accepts subreddits in the following formats

View File

@@ -39,7 +39,7 @@ HELP = """
`l` or `RIGHT` : Enter the selected submission
`/` : Open a prompt to switch subreddits
`f` : Open a prompt to search the current subreddit
'q' : Toggles between FrontPage and last visited subreddit
'p' : Toggles between FrontPage and last visited subreddit
[Submission Mode]
`h` or `LEFT` : Return to subreddit mode

View File

@@ -30,7 +30,7 @@ class SubredditPage(Page):
self.controller = SubredditController(self, keymap=config.keymap)
self.content = SubredditContent.from_name(reddit, name, term.loader)
self.nav = Navigator(self.content.get)
self._toggled_subreddit = ''
self._toggled_subreddit = None
@SubredditController.register(Command('REFRESH'))
def refresh_content(self, order=None, name=None):
@@ -82,14 +82,14 @@ class SubredditPage(Page):
"""
target =''
if not self.on_frontpage():
if not self.content.name == '/r/front':
target = '/r/front'
self.set_last_subreddit()
self._toggled_subreddit = self.content.name
else:
target = self.get_last_subreddit()
target = self._toggled_subreddit
# target still may be emptystring if this command hasn't yet been used
if not target == '':
if not target == None:
self.refresh_content(order='ignore',name=target)
@SubredditController.register(Command('SUBREDDIT_OPEN'))
@@ -189,16 +189,6 @@ class SubredditPage(Page):
self.refresh_content(order='ignore',
name=page.subreddit_data['name'])
def on_frontpage(self):
"Returns whether the current page is the front page"
return self.content.name == '/r/front'
def set_last_subreddit(self):
self._toggled_subreddit = self.content.name
def get_last_subreddit(self):
return self._toggled_subreddit
def _draw_item(self, win, data, inverted):
n_rows, n_cols = win.getmaxyx()

View File

@@ -226,3 +226,11 @@ def test_subreddit_draw_header(subreddit_page, refresh_token, terminal):
subreddit_page.draw()
text = 'My Submissions'.encode('utf-8')
terminal.stdscr.subwin.addstr.assert_any_call(0, 0, text)
def test_subreddit_frontpage_toggle(subreddit_page, terminal):
with mock.patch.object(terminal, 'prompt_input'):
terminal.prompt_input.return_value = 'aww'
subreddit_page.controller.trigger('/')
assert subreddit_page.content.name == '/r/aww'
subreddit_page.controller.trigger('p')
assert subreddit_page.content.name == '/r/front'