def _long_press_to_select(self, el, x, y): """Long press the location (x, y) to select a word. SelectionCarets should appear. On Windows, those spaces after the word will also be selected. """ long_press_without_contextmenu(self.marionette, el, self._long_press_time, x, y)
def _long_press_to_select(self, el, x, y): '''Long press the location (x, y) to select a word. SelectionCarets should appear. On Windows, those spaces after the word will also be selected. ''' long_press_without_contextmenu(self.marionette, el, self._long_press_time, x, y)
def test_long_press_to_select_non_selectable_word(self): '''Testing long press on non selectable field. We should not select anything when long press on non selectable fields.''' self.openTestHtml(enabled=True) halfY = self._nonsel1.size['height'] / 2 long_press_without_contextmenu(self.marionette, self._nonsel1, self._long_press_time, 0, halfY) sel = SelectionManager(self._nonsel1) range_count = sel.range_count() self.assertEqual(range_count, 0)
def test_select_word_inside_an_iframe(self): '''Bug 1088552 The scroll offset in iframe should be taken into consideration properly. In this test, we scroll content in the iframe to the bottom to cause a huge offset. If we use the right coordinate system, selection should work. Otherwise, it would be hard to trigger select word. ''' self.openTestHtmlIframe(enabled=True) # switch to inner iframe and scroll to the bottom self.marionette.switch_to_frame(self._iframe) self.marionette.execute_script( 'document.getElementById("bd").scrollTop += 999') # long press to select bottom text self._body = self.marionette.find_element(By.ID, 'bd') sel = SelectionManager(self._body) self._bottomtext = self.marionette.find_element(By.ID, 'bottomtext') long_press_without_contextmenu(self.marionette, self._bottomtext, self._long_press_time) self.assertNotEqual(self._to_unix_line_ending(sel.selected_content.strip()), '')
def _long_press_to_select_word(self, el, wordOrdinal): sel = SelectionManager(el) original_content = sel.content words = original_content.split() self.assertTrue(wordOrdinal < len(words), 'Expect at least %d words in the content.' % wordOrdinal) # Calc offset offset = 0 for i in range(wordOrdinal): offset += (len(words[i]) + 1) # Move caret inside the word. el.tap() sel.move_caret_to_front() sel.move_caret_by_offset(offset) x, y = sel.caret_location() # Long press the caret position. Selection carets should appear, and the # word will be selected. On Windows, those spaces after the word # will also be selected. long_press_without_contextmenu(self.marionette, el, self._long_press_time, x, y)
def test_select_word_inside_an_iframe(self): '''Bug 1088552 The scroll offset in iframe should be taken into consideration properly. In this test, we scroll content in the iframe to the bottom to cause a huge offset. If we use the right coordinate system, selection should work. Otherwise, it would be hard to trigger select word. ''' self.open_test_html_iframe() # switch to inner iframe and scroll to the bottom self.marionette.switch_to_frame(self._iframe) self.marionette.execute_script( 'document.getElementById("bd").scrollTop += 999') # long press to select bottom text self._body = self.marionette.find_element(By.ID, 'bd') sel = SelectionManager(self._body) self._bottomtext = self.marionette.find_element(By.ID, 'bottomtext') long_press_without_contextmenu(self.marionette, self._bottomtext, self._long_press_time) self.assertNotEqual( self._to_unix_line_ending(sel.selected_content.strip()), '')