History flag: test added, short version changed, minor fixes

This commit is contained in:
Maciej Wołczyk 2016-11-21 15:33:38 +01:00
parent 058c3e6541
commit 918b3e2d12
2 changed files with 15 additions and 7 deletions

View File

@ -152,7 +152,7 @@ class HintContext:
to_follow: The link to follow when enter is pressed.
args: Custom arguments for userscript/spawn
rapid: Whether to do rapid hinting.
chronicle: Whether to add yanked or spawned link to the history.
history: Whether to add yanked or spawned link to the history.
filterstr: Used to save the filter string for restoring in rapid mode.
tab: The WebTab object we started hinting in.
group: The group of web elements to hint.
@ -165,7 +165,7 @@ class HintContext:
self.baseurl = None
self.to_follow = None
self.rapid = False
self.chronicle = False
self.history = False
self.filterstr = None
self.args = []
self.tab = None
@ -603,15 +603,16 @@ class HintManager(QObject):
@cmdutils.register(instance='hintmanager', scope='tab', name='hint',
star_args_optional=True, maxsplit=2)
@cmdutils.argument('win_id', win_id=True)
@cmdutils.argument('history', flag="s")
def start(self, rapid=False, group=webelem.Group.all, target=Target.normal,
*args, win_id, mode=None, chronicle=False):
*args, win_id, mode=None, history=False):
"""Start hinting.
Args:
rapid: Whether to do rapid hinting. This is only possible with
targets `tab` (with background-tabs=true), `tab-bg`,
`window`, `run`, `hover`, `userscript` and `spawn`.
chronicle: Whether to add spawned or yanked linked to the
history: Whether to add spawned or yanked link to the
browsing history.
group: The element types to hint.
@ -695,7 +696,7 @@ class HintManager(QObject):
self._context.target = target
self._context.rapid = rapid
self._context.hint_mode = mode
self._context.chronicle = chronicle
self._context.history = history
try:
self._context.baseurl = tabbed_browser.current_url()
except qtutils.QtValueError:
@ -865,8 +866,8 @@ class HintManager(QObject):
return
handler = functools.partial(url_handlers[self._context.target],
url, self._context)
if self._context.chronicle:
objreg.get('web-history').add_from_tab(url, url, "")
if self._context.history:
objreg.get('web-history').add_url(url, "")
else:
raise ValueError("No suitable handler found!")

View File

@ -58,6 +58,13 @@ Feature: Page history
And I run :history-clear
Then the history file should be empty
Scenario: History with yanked URL and 'add to history' flag
When I open data/hints/html/simple.html
And I hint with args "--history links yank" and follow a
Then the history file should contain:
http://localhost:(port)/data/hints/html/simple.html Simple link
http://localhost:(port)/data/hello.txt
## Bugs
@qtwebengine_skip