Merge remote-tracking branch 'origin/pr/3620'

This commit is contained in:
Florian Bruhin 2018-02-26 07:26:24 +01:00
commit 353753c03c
4 changed files with 37 additions and 0 deletions

View File

@ -27,6 +27,7 @@ markers =
no_invalid_lines: Don't fail on unparseable lines in end2end tests
issue2478: Tests which are broken on Windows with QtWebEngine, https://github.com/qutebrowser/qutebrowser/issues/2478
issue3572: Tests which are broken with QtWebEngine and Qt 5.10, https://github.com/qutebrowser/qutebrowser/issues/3572
qtbug60673: Tests which are broken if the conversion from orange selection to real selection is flakey
fake_os: Fake utils.is_* to a fake operating system
unicode_locale: Tests which need an unicode locale to work
qt_log_level_fail = WARNING

View File

@ -225,6 +225,12 @@ class WebEngineCaret(browsertab.AbstractCaret):
if mode != usertypes.KeyMode.caret:
return
if self._tab.search.search_displayed:
# We are currently in search mode.
# convert the search to a blue selection so we can operate on it
# https://bugreports.qt.io/browse/QTBUG-60673
self._tab.search.clear()
self._tab.run_js_async(
javascript.assemble('caret', 'setPlatform', sys.platform))
self._js_call('setInitialCursor')

View File

@ -68,6 +68,11 @@ def _apply_platform_markers(config, item):
qtutils.version_check('5.10', compiled=False, exact=True) and
config.webengine and 'TRAVIS' in os.environ,
"Broken with QtWebEngine with Qt 5.10 on Travis"),
('qtbug60673',
qtutils.version_check('5.8') and
not qtutils.version_check('5.10') and
config.webengine,
"Broken on webengine due to qtbug60673"),
('unicode_locale', sys.getfilesystemencoding() == 'ascii',
"Skipped because of ASCII locale"),
]

View File

@ -320,3 +320,28 @@ Feature: Caret mode
And the following tabs should be open:
- data/caret.html
- data/hello.txt (active)
# Search + caret mode
# https://bugreports.qt.io/browse/QTBUG-60673
@qtbug60673
Scenario: yanking a searched line
When I run :leave-mode
And I run :search fiv
And I wait for "search found fiv" in the log
And I run :enter-mode caret
And I run :move-to-end-of-line
And I run :yank selection
Then the clipboard should contain "five six"
@qtbug60673
Scenario: yanking a searched line with multiple matches
When I run :leave-mode
And I run :search w
And I wait for "search found w" in the log
And I run :search-next
And I wait for "next_result found w" in the log
And I run :enter-mode caret
And I run :move-to-end-of-line
And I run :yank selection
Then the clipboard should contain "wei drei"