From 69333f609bcdf3724ae639d7389750cfe18f4523 Mon Sep 17 00:00:00 2001 From: Stephen Blott Date: Fri, 25 Mar 2016 10:37:45 +0000 Subject: More selective integration with the tests. This is a better way of stubing for the tests. Previously, if anything went wrong, there would actually be a visual effect for the user (the page would scroll). This way, that cannot happen. --- content_scripts/mode_visual.coffee | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'content_scripts') diff --git a/content_scripts/mode_visual.coffee b/content_scripts/mode_visual.coffee index cacf8aa3..cbdf6ae2 100644 --- a/content_scripts/mode_visual.coffee +++ b/content_scripts/mode_visual.coffee @@ -250,10 +250,9 @@ class VisualMode extends KeyHandlerMode unless @name == "caret" if @selection.type in [ "Caret", "Range" ] selectionRect = @selection.getRangeAt(0).getBoundingClientRect() - # Only for the tests. We don't have getBoundingClientRect() in the tests, so we patch in a default - # rect here. - # TODO(smblott) Is there a way to stub this properly? - selectionRect ||= {top: 0, bottom: 0, left: 0, right: 0, width: 0, height: 0} + if window.vimiumDomTestsAreRunning + # We're running the DOM tests, where getBoundingClientRect() isn't available. + selectionRect ||= {top: 0, bottom: 0, left: 0, right: 0, width: 0, height: 0} selectionRect = Rect.intersect selectionRect, Rect.create 0, 0, window.innerWidth, window.innerHeight if selectionRect.height >= 0 and selectionRect.width >= 0 # The selection is visible in the current viewport. -- cgit v1.2.3