Merge remote-tracking branch 'origin/master' into more_listings

This commit is contained in:
woorst
2016-07-15 16:54:21 -05:00
18 changed files with 3997 additions and 23 deletions

View File

@@ -2,6 +2,7 @@
RTV Changelog RTV Changelog
============= =============
.. _1.10.0: http://github.com/michael-lazar/rtv/releases/tag/v1.10.0
.. _1.9.1: http://github.com/michael-lazar/rtv/releases/tag/v1.9.1 .. _1.9.1: http://github.com/michael-lazar/rtv/releases/tag/v1.9.1
.. _1.9.0: http://github.com/michael-lazar/rtv/releases/tag/v1.9.0 .. _1.9.0: http://github.com/michael-lazar/rtv/releases/tag/v1.9.0
.. _1.8.1: http://github.com/michael-lazar/rtv/releases/tag/v1.8.1 .. _1.8.1: http://github.com/michael-lazar/rtv/releases/tag/v1.8.1
@@ -18,6 +19,22 @@ RTV Changelog
.. _1.2.1: http://github.com/michael-lazar/rtv/releases/tag/v1.2.1 .. _1.2.1: http://github.com/michael-lazar/rtv/releases/tag/v1.2.1
.. _1.2: http://github.com/michael-lazar/rtv/releases/tag/v1.2 .. _1.2: http://github.com/michael-lazar/rtv/releases/tag/v1.2
--------------------
1.10.0_ (2016-07-11)
--------------------
Features
* New command, `b` extracts urls from comments using urlviewer.
* Comment files will no longer be destroyed if RTV encounters an error while posting.
* The terminal title now displays the subreddit name/url.
Bugfixes
* Fixed crash when entering empty or invalid subreddit name.
* Fixed crash when opening x-posts linked to subreddits.
* Fixed a bug where the terminal title wasn't getting set.
* **/r/me** is now displayed as *My Submissions* in the header.
------------------- -------------------
1.9.1_ (2016-06-13) 1.9.1_ (2016-06-13)
------------------- -------------------

View File

@@ -65,3 +65,4 @@ In submission mode you can view the self text for a submission and browse commen
:``l`` or ``►``: Open the selected comment in a new window :``l`` or ``►``: Open the selected comment in a new window
:``o`` or ``ENTER``: Open the comment permalink with your web browser :``o`` or ``ENTER``: Open the comment permalink with your web browser
:``SPACE``: Fold the selected comment, or load additional comments :``SPACE``: Fold the selected comment, or load additional comments
:``b``: Display URLs with urlview

View File

@@ -136,6 +136,33 @@ If you prefer the complete terminal experience, set ``$BROWSER`` to a console-ba
`w3m <http://w3m.sourceforge.net/>`_, `lynx <http://lynx.isc.org/>`_, and `elinks <http://elinks.or.cz/>`_ are all good choices. `w3m <http://w3m.sourceforge.net/>`_, `lynx <http://lynx.isc.org/>`_, and `elinks <http://elinks.or.cz/>`_ are all good choices.
----------
Url Viewer
----------
You can open links displayed inside of comments by taking advantage of a url extraction program.
Use ``$RTV_URLVIEWER`` to specify a custom url viewer.
.. code-block:: bash
$ export RTV_URLVIEWER=urlview
`urlview <https://github.com/sigpipe/urlview>`_ and `urlscan <https://github.com/firecat53/urlscan>`_ are known to be compatible, but any program that accepts text via a stdin pipe will do.
These applications do not come pre-installed on most systems.
**Ubuntu**
.. code-block:: bash
$ sudo apt-get install urlview
**Mac with Homebrew**
.. code-block:: bash
$ brew install urlview
=== ===
FAQ FAQ
=== ===

6
rtv.1
View File

@@ -1,4 +1,4 @@
.TH "RTV" "1" "June 14, 2016" "Version 1.9.1" "Usage and Commands" .TH "RTV" "1" "July 12, 2016" "Version 1.10.0" "Usage and Commands"
.SH NAME .SH NAME
RTV - Reddit Terminal Viewer RTV - Reddit Terminal Viewer
.SH SYNOPSIS .SH SYNOPSIS
@@ -73,6 +73,10 @@ for future sessions. You can disable this behavior by setting the option
Text editor to use when editing comments and submissions. Will fallback to Text editor to use when editing comments and submissions. Will fallback to
\fI$EDITOR\fR. \fI$EDITOR\fR.
.TP .TP
.BR RTV_URLVIEWER
Url Viewer to use to extract links from comments. Requires a compatible
Url Viewer to be installed
.TP
.BR BROWSER .BR BROWSER
Web browser to use when opening links. Web browser to use when opening links.
.TP .TP

View File

@@ -1,4 +1,4 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from __future__ import unicode_literals from __future__ import unicode_literals
__version__ = '1.9.1' __version__ = '1.10.0'

View File

@@ -128,10 +128,11 @@ class Content(object):
displayed through the terminal. displayed through the terminal.
Definitions: Definitions:
permalink - Full URL to the submission comments. permalink - URL to the reddit page with submission comments.
url_full - Link that the submission points to. url_full - URL that the submission points to.
url - URL that is displayed on the subreddit page, may be url - URL that will be displayed on the subreddit page, may be
"selfpost" or "x-post" or a link. "selfpost", "x-post submission", "x-post subreddit", or an
external link.
""" """
reddit_link = re.compile( reddit_link = re.compile(
@@ -147,8 +148,7 @@ class Content(object):
data['text'] = sub.selftext data['text'] = sub.selftext
data['created'] = cls.humanize_timestamp(sub.created_utc) data['created'] = cls.humanize_timestamp(sub.created_utc)
data['comments'] = '{0} comments'.format(sub.num_comments) data['comments'] = '{0} comments'.format(sub.num_comments)
data['score'] = '{0} pts'.format( data['score'] = '{0} pts'.format('-' if sub.hide_score else sub.score)
'-' if sub.hide_score else sub.score)
data['author'] = name data['author'] = name
data['permalink'] = sub.permalink data['permalink'] = sub.permalink
data['subreddit'] = six.text_type(sub.subreddit) data['subreddit'] = six.text_type(sub.subreddit)
@@ -159,6 +159,7 @@ class Content(object):
data['nsfw'] = sub.over_18 data['nsfw'] = sub.over_18
data['stickied'] = sub.stickied data['stickied'] = sub.stickied
data['hidden'] = False data['hidden'] = False
data['xpost_subreddit'] = None
data['index'] = None # This is filled in later by the method caller data['index'] = None # This is filled in later by the method caller
if sub.url.split('/r/')[-1] == sub.permalink.split('/r/')[-1]: if sub.url.split('/r/')[-1] == sub.permalink.split('/r/')[-1]:
@@ -167,8 +168,13 @@ class Content(object):
elif reddit_link.match(sub.url): elif reddit_link.match(sub.url):
# Strip the subreddit name from the permalink to avoid having # Strip the subreddit name from the permalink to avoid having
# submission.subreddit.url make a separate API call # submission.subreddit.url make a separate API call
data['url'] = 'self.{0}'.format(sub.url.split('/')[4]) url_parts = sub.url.split('/')
data['url_type'] = 'x-post' data['xpost_subreddit'] = url_parts[4]
data['url'] = 'self.{0}'.format(url_parts[4])
if 'comments' in url_parts:
data['url_type'] = 'x-post submission'
else:
data['url_type'] = 'x-post subreddit'
else: else:
data['url'] = sub.url data['url'] = sub.url
data['url_type'] = 'external' data['url_type'] = 'external'

View File

@@ -45,6 +45,7 @@ HELP = """
`h` or `LEFT` : Return to subreddit mode `h` or `LEFT` : Return to subreddit mode
`l` or `RIGHT` : Open the selected comment in a new window `l` or `RIGHT` : Open the selected comment in a new window
`SPACE` : Fold the selected comment, or load additional comments `SPACE` : Fold the selected comment, or load additional comments
`b` : Display URLs with urlview
""" """
COMMENT_FILE = """ COMMENT_FILE = """

View File

@@ -280,7 +280,9 @@ class Page(object):
ch, attr = str(' '), curses.A_REVERSE | curses.A_BOLD | Color.CYAN ch, attr = str(' '), curses.A_REVERSE | curses.A_BOLD | Color.CYAN
window.bkgd(ch, attr) window.bkgd(ch, attr)
sub_name = self.content.name.replace('/r/front', 'Front Page') sub_name = self.content.name
sub_name = sub_name.replace('/r/front', 'Front Page')
sub_name = sub_name.replace('/r/me', 'My Submissions')
self.term.add_line(window, sub_name, 0, 0) self.term.add_line(window, sub_name, 0, 0)
# Set the terminal title # Set the terminal title
@@ -289,7 +291,7 @@ class Page(object):
else: else:
title = sub_name title = sub_name
title = title + ' - rtv {0}'.format(__version__) title += ' - rtv {0}'.format(__version__)
sys.stdout.write('\x1b]2;{0}\x07'.format(title)) sys.stdout.write('\x1b]2;{0}\x07'.format(title))
sys.stdout.flush() sys.stdout.flush()

View File

@@ -112,6 +112,7 @@ SUBMISSION_OPEN_IN_BROWSER = o, <LF>, <KEY_ENTER>
SUBMISSION_POST = c SUBMISSION_POST = c
SUBMISSION_EXIT = h, <KEY_LEFT> SUBMISSION_EXIT = h, <KEY_LEFT>
SUBMISSION_OPEN_IN_PAGER = l, <KEY_RIGHT> SUBMISSION_OPEN_IN_PAGER = l, <KEY_RIGHT>
SUBMISSION_OPEN_IN_URLVIEWER = b
; Subreddit page ; Subreddit page
SUBREDDIT_SEARCH = f SUBREDDIT_SEARCH = f

View File

@@ -35,11 +35,11 @@ class SubmissionPage(Page):
current_index = self.nav.absolute_index current_index = self.nav.absolute_index
self.content.toggle(current_index) self.content.toggle(current_index)
# This logic handles a display edge case after a comment toggle. We want # This logic handles a display edge case after a comment toggle. We
# to make sure that when we re-draw the page, the cursor stays at its # want to make sure that when we re-draw the page, the cursor stays at
# current absolute position on the screen. In order to do this, apply # its current absolute position on the screen. In order to do this,
# a fixed offset if, while inverted, we either try to hide the bottom # apply a fixed offset if, while inverted, we either try to hide the
# comment or toggle any of the middle comments. # bottom comment or toggle any of the middle comments.
if self.nav.inverted: if self.nav.inverted:
data = self.content.get(current_index) data = self.content.get(current_index)
if data['hidden'] or self.nav.cursor_index != 0: if data['hidden'] or self.nav.cursor_index != 0:
@@ -147,6 +147,15 @@ class SubmissionPage(Page):
else: else:
self.term.flash() self.term.flash()
@SubmissionController.register(Command('SUBMISSION_OPEN_IN_URLVIEWER'))
def comment_urlview(self):
data = self.content.get(self.nav.absolute_index)
comment = data.get('body', '')
if comment:
self.term.open_urlview(comment)
else:
self.term.flash()
def _draw_item(self, win, data, inverted): def _draw_item(self, win, data, inverted):
if data['type'] == 'MoreComments': if data['type'] == 'MoreComments':
@@ -219,7 +228,8 @@ class SubmissionPage(Page):
n_cols -= 1 n_cols -= 1
self.term.add_line(win, '{body}'.format(**data), 0, 1) self.term.add_line(win, '{body}'.format(**data), 0, 1)
self.term.add_line(win, ' [{count}]'.format(**data), attr=curses.A_BOLD) self.term.add_line(
win, ' [{count}]'.format(**data), attr=curses.A_BOLD)
attr = Color.get_level(data['level']) attr = Color.get_level(data['level'])
self.term.addch(win, 0, 0, self.term.vline, attr) self.term.addch(win, 0, 0, self.term.vline, attr)

View File

@@ -101,7 +101,9 @@ class SubredditPage(Page):
data = self.content.get(self.nav.absolute_index) data = self.content.get(self.nav.absolute_index)
if data['url_type'] == 'selfpost': if data['url_type'] == 'selfpost':
self.open_submission() self.open_submission()
elif data['url_type'] == 'x-post': elif data['url_type'] == 'x-post subreddit':
self.refresh_content(order='ignore', name=data['xpost_subreddit'])
elif data['url_type'] == 'x-post submission':
self.open_submission(url=data['url_full']) self.open_submission(url=data['url_full'])
self.config.history.add(data['url_full']) self.config.history.add(data['url_full'])
else: else:

View File

@@ -349,7 +349,8 @@ class Terminal(object):
'Browser exited with status=%s' % code) 'Browser exited with status=%s' % code)
time.sleep(0.01) time.sleep(0.01)
else: else:
raise exceptions.BrowserError('Timeout opening browser') raise exceptions.BrowserError(
'Timeout opening browser')
finally: finally:
# Can't check the loader exception because the oauth module # Can't check the loader exception because the oauth module
# supersedes this loader and we need to always kill the # supersedes this loader and we need to always kill the
@@ -438,6 +439,20 @@ class Terminal(object):
else: else:
_logger.info('File deleted: %s', filepath) _logger.info('File deleted: %s', filepath)
def open_urlview(self, data):
urlview = os.getenv('RTV_URLVIEWER') or 'urlview'
try:
with self.suspend():
p = subprocess.Popen([urlview],
stdin=subprocess.PIPE)
try:
p.communicate(input=six.b(data))
except KeyboardInterrupt:
p.terminate()
except OSError:
self.show_notification(
'Could not open urls with {}'.format(urlview))
def text_input(self, window, allow_resize=False): def text_input(self, window, allow_resize=False):
""" """
Transform a window into a text box that will accept user input and loop Transform a window into a text box that will accept user input and loop
@@ -574,4 +589,4 @@ class Terminal(object):
break break
out = '\n'.join(stack) out = '\n'.join(stack)
return out return out

View File

@@ -28,6 +28,10 @@ for future sessions. You can disable this behavior by setting the option
Text editor to use when editing comments and submissions. Will fallback to Text editor to use when editing comments and submissions. Will fallback to
\fI$EDITOR\fR. \fI$EDITOR\fR.
.TP .TP
.BR RTV_URLVIEWER
Url Viewer to use to extract links from comments. Requires a compatible
Url Viewer to be installed
.TP
.BR BROWSER .BR BROWSER
Web browser to use when opening links. Web browser to use when opening links.
.TP .TP

View File

@@ -0,0 +1,249 @@
interactions:
- request:
body: !!binary |
cmVkaXJlY3RfdXJpPWh0dHAlM0ElMkYlMkYxMjcuMC4wLjElM0E2NTAwMCUyRiZncmFudF90eXBl
PXJlZnJlc2hfdG9rZW4mcmVmcmVzaF90b2tlbj0qKioqKioqKioq
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Authorization: ['**********']
Connection: [keep-alive]
Content-Length: ['122']
Content-Type: [application/x-www-form-urlencoded]
Cookie: [__cfduid=d963647719488322ce24aaf79235c3d6e1449042300]
User-Agent: [rtv test suite PRAW/3.3.0 Python/3.4.0 b'Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty']
method: POST
uri: https://api.reddit.com/api/v1/access_token/
response:
body:
string: !!binary |
H4sIAAAAAAAAAyWMsQrCQBAFf2W5WiFqDGqb0lYQq3DJPXSReMfuJvEU/12i1YNh5r2d7zqoNhbv
eLgDubKsdsVqtV0iDedjf/GvNJzzaR/qqeZ1XW72084tyP2CxnLCXLXwApk5nokF2vD8tqmKYkFO
u/jXENjoxmpRMnHAw9gy9VmHVhACm1ISHr2hh6q/QkngAwlSFCP1I0iHtmebRzvhFjRGg/t8AYx9
Bq7KAAAA
headers:
CF-RAY: [24e569649f492816-SJC]
Connection: [keep-alive]
Content-Encoding: [gzip]
Content-Type: [application/json; charset=UTF-8]
Date: ['Wed, 02 Dec 2015 07:45:20 GMT']
Server: [cloudflare-nginx]
Strict-Transport-Security: [max-age=15552000; includeSubDomains; preload]
X-Moose: [majestic]
cache-control: ['max-age=0, must-revalidate']
x-content-type-options: [nosniff]
x-frame-options: [SAMEORIGIN]
x-xss-protection: [1; mode=block]
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Authorization: ['**********']
Connection: [keep-alive]
User-Agent: [rtv test suite PRAW/3.3.0 Python/3.4.0 b'Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty']
method: GET
uri: https://oauth.reddit.com/api/v1/me.json
response:
body:
string: !!binary |
H4sIAAAAAAAAA12QwWrDMBBEf0Xs2YTYuLTxZ5TSq5CtdbNE2k1XUhoI/fei1C5xjxp23ozmBkeX
bHQUYDCzCwkbA+wiwmDgFb2n/IYaiV14J/xChcbApOgyehhM2/fd89O+Oxx2+8bAkTzaWSValVFy
emBSsqmkM7K/G1d5QdmSpxXXtf2Kq9XE/68XiE/25DS6aqkQiRE5/2nVKxdU275sG3xI8Fslykao
D/gMjGP9Zz23eD2TukzCMBguIdQ7HuVqJymcl7ha9YJKM6G3uBTOWnDFTHofMy33v1skEn4IWFao
Id8/dZfx5JkBAAA=
headers:
CF-RAY: [24e56971a0f811a7-SJC]
Connection: [keep-alive]
Content-Encoding: [gzip]
Content-Type: [application/json; charset=UTF-8]
Date: ['Wed, 02 Dec 2015 07:45:22 GMT']
Server: [cloudflare-nginx]
Set-Cookie: ['__cfduid=d667511ab17e019fb769e680b9cab23071449042322; expires=Thu,
01-Dec-16 07:45:22 GMT; path=/; domain=.reddit.com; HttpOnly']
Strict-Transport-Security: [max-age=15552000; includeSubDomains; preload]
X-Moose: [majestic]
cache-control: ['private, s-maxage=0, max-age=0, must-revalidate', 'max-age=0,
must-revalidate']
expires: ['-1']
x-content-type-options: [nosniff]
x-frame-options: [SAMEORIGIN]
x-ratelimit-remaining: ['586.0']
x-ratelimit-reset: ['278']
x-ratelimit-used: ['14']
x-xss-protection: [1; mode=block]
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Authorization: ['**********']
Connection: [keep-alive]
Cookie: [__cfduid=d667511ab17e019fb769e680b9cab23071449042322]
User-Agent: [rtv test suite PRAW/3.3.0 Python/3.4.0 b'Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty']
method: GET
uri: https://oauth.reddit.com/r/Python/comments/2xmo63/a_python_terminal_viewer_for_browsing_reddit/.json
response:
body:
string: !!binary |
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
AA==
headers:
CF-RAY: [24e56974010611a7-SJC]
Connection: [keep-alive]
Content-Encoding: [gzip]
Content-Length: ['7639']
Content-Type: [application/json; charset=UTF-8]
Date: ['Wed, 02 Dec 2015 07:45:22 GMT']
Server: [cloudflare-nginx]
Strict-Transport-Security: [max-age=15552000; includeSubDomains; preload]
Vary: [accept-encoding]
X-Moose: [majestic]
cache-control: ['private, s-maxage=0, max-age=0, must-revalidate', 'max-age=0,
must-revalidate']
expires: ['-1']
x-content-type-options: [nosniff]
x-frame-options: [SAMEORIGIN]
x-ratelimit-remaining: ['585.0']
x-ratelimit-reset: ['278']
x-ratelimit-used: ['15']
x-reddit-tracking: ['https://pixel.redditmedia.com/pixel/of_destiny.png?v=x7Hgtcci0o4lZvWWI68HSCYaPfSu8AoLGJymDPfSvXaVLHrXHOY314V%2FS7aiBGPeCNk%2FdOqa1ik%3D']
x-ua-compatible: [IE=edge]
x-xss-protection: [1; mode=block]
status: {code: 200, message: OK}
version: 1

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,771 @@
interactions:
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate, compress']
User-Agent: [!!python/unicode rtv test suite PRAW/3.4.0 Python/2.7.6 Linux-3.13.0-85-generic-x86_64-with-Ubuntu-14.04-trusty]
method: !!python/unicode GET
uri: https://api.reddit.com/r/python/.json?limit=1024
response:
body:
string: !!binary |
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
headers:
access-control-allow-origin: ['*']
access-control-expose-headers: ['X-Reddit-Tracking, X-Moose']
cache-control: ['max-age=0, must-revalidate']
cf-ray: [2bf1d78abde30da3-SJC]
connection: [keep-alive]
content-encoding: [gzip]
content-length: ['41778']
content-type: [application/json; charset=UTF-8]
date: ['Fri, 08 Jul 2016 07:32:23 GMT']
server: [cloudflare-nginx]
set-cookie: ['__cfduid=da4c26bd1b674e3819415c9b7e4063f911467963142; expires=Sat,
08-Jul-17 07:32:22 GMT; path=/; domain=.reddit.com; HttpOnly', 'loid=JxWRoshaZuPtNIAQ1W;
Domain=reddit.com; Max-Age=63071999; Path=/; expires=Sun, 08-Jul-2018 07:32:23
GMT; secure', 'loidcreated=2016-07-08T07%3A32%3A23.110Z; Domain=reddit.com;
Max-Age=63071999; Path=/; expires=Sun, 08-Jul-2018 07:32:23 GMT; secure']
strict-transport-security: [max-age=15552000; includeSubDomains; preload]
vary: [accept-encoding]
x-content-type-options: [nosniff]
x-frame-options: [SAMEORIGIN]
x-moose: [majestic]
x-reddit-tracking: ['https://pixel.redditmedia.com/pixel/of_destiny.png?v=KzN2Y%2F7HejPW9lFlAE5Yo5g7HI5v7MEUvkF2G6QMIq3ap9ofwMhdfAyRDrVKFqqAQFaO9ukLEz0%3D']
x-ua-compatible: [IE=edge]
x-xss-protection: [1; mode=block]
status: {code: 200, message: OK}
version: 1

View File

@@ -253,4 +253,29 @@ def test_submission_edit(submission_page, terminal, refresh_token):
submission_page.controller.trigger('e') submission_page.controller.trigger('e')
assert open_editor.called assert open_editor.called
edit.assert_called_with('comment text') edit.assert_called_with('comment text')
def test_submission_urlview(submission_page, terminal, refresh_token):
# Log in
submission_page.config.refresh_token = refresh_token
submission_page.oauth.authorize()
# Positive Case
data = submission_page.content.get(submission_page.nav.absolute_index)
TEST_BODY = 'test comment body'
data['body'] = TEST_BODY
with mock.patch.object(terminal, 'open_urlview') as open_urlview, \
mock.patch('subprocess.Popen'):
submission_page.controller.trigger('b')
open_urlview.assert_called_with(TEST_BODY)
# Negative Case
data = submission_page.content.get(submission_page.nav.absolute_index)
TEST_NO_BODY = ''
data['body'] = TEST_NO_BODY
with mock.patch.object(terminal, 'open_urlview') as open_urlview, \
mock.patch('subprocess.Popen'):
submission_page.controller.trigger('b')
assert not open_urlview.called

View File

@@ -116,6 +116,26 @@ def test_subreddit_open(subreddit_page, terminal, config):
assert subreddit_page.open_submission.called assert subreddit_page.open_submission.called
def test_subreddit_open_xpost(subreddit_page, config):
data = subreddit_page.content.get(subreddit_page.nav.absolute_index)
# Open an x-post subreddit, see /r/TinySubredditoftheDay for an example
with mock.patch.object(subreddit_page, 'refresh_content'):
data['url_type'] = 'x-post subreddit'
data['xpost_subreddit'] = 'goodbye'
subreddit_page.controller.trigger('o')
subreddit_page.refresh_content.assert_called_with(
name='goodbye', order='ignore')
# Open an x-post submission, see /r/bestof for an example
with mock.patch.object(subreddit_page, 'open_submission'):
data['url_type'] = 'x-post submission'
data['url_full'] = 'www.test.com'
subreddit_page.controller.trigger('o')
subreddit_page.open_submission.assert_called_with(url='www.test.com')
def test_subreddit_unauthenticated(subreddit_page, terminal): def test_subreddit_unauthenticated(subreddit_page, terminal):
# Unauthenticated commands # Unauthenticated commands
@@ -176,4 +196,33 @@ def test_subreddit_open_subscriptions(subreddit_page, refresh_token):
# Open a subscription # Open a subscription
with mock.patch('rtv.page.Page.loop') as loop: with mock.patch('rtv.page.Page.loop') as loop:
subreddit_page.controller.trigger('s') subreddit_page.controller.trigger('s')
assert loop.called assert loop.called
def test_subreddit_draw_header(subreddit_page, refresh_token, terminal):
# /r/front alias should be renamed in the header
subreddit_page.refresh_content(name='/r/front')
subreddit_page.draw()
text = 'Front Page'.encode('utf-8')
terminal.stdscr.subwin.addstr.assert_any_call(0, 0, text)
subreddit_page.refresh_content(name='/r/front/new')
subreddit_page.draw()
text = 'Front Page'.encode('utf-8')
terminal.stdscr.subwin.addstr.assert_any_call(0, 0, text)
# Log in to check the user submissions page
subreddit_page.config.refresh_token = refresh_token
subreddit_page.oauth.authorize()
# /r/me alias should be renamed in the header
subreddit_page.refresh_content(name='/r/me')
subreddit_page.draw()
text = 'My Submissions'.encode('utf-8')
terminal.stdscr.subwin.addstr.assert_any_call(0, 0, text)
subreddit_page.refresh_content(name='/r/me/new')
subreddit_page.draw()
text = 'My Submissions'.encode('utf-8')
terminal.stdscr.subwin.addstr.assert_any_call(0, 0, text)