Пример #1
0
def test_two_active_items():
    """Check tabhistory.serialize with two active items."""
    items = [Item(QUrl(), '', active=True),
             Item(QUrl(), ''),
             Item(QUrl(), '', active=True)]
    with pytest.raises(ValueError):
        tabhistory.serialize(items)
Пример #2
0
def test_two_active_items():
    """Check tabhistory.serialize with two active items."""
    items = [Item(QUrl(), '', active=True),
             Item(QUrl(), ''),
             Item(QUrl(), '', active=True)]
    with pytest.raises(ValueError):
        tabhistory.serialize(items)
Пример #3
0
 def _set_data(self, browser, tab_id, items):
     """Helper function for test_long_output."""
     history = browser.widgets()[tab_id].page().history()
     stream, _data, user_data = tabhistory.serialize(items)
     qtutils.deserialize_stream(stream, history)
     for i, data in enumerate(user_data):
         history.itemAt(i).setUserData(data)
Пример #4
0
 def _set_data(self, browser, tab_id, items):
     """Helper function for test_long_output."""
     history = browser.widgets()[tab_id].page().history()
     stream, _data, user_data = tabhistory.serialize(items)
     qtutils.deserialize_stream(stream, history)
     for i, data in enumerate(user_data):
         history.itemAt(i).setUserData(data)
Пример #5
0
def test_empty(empty_history):
    """Check tabhistory.serialize with no items."""
    items = []
    stream, _data, user_data = tabhistory.serialize(items)
    qtutils.deserialize_stream(stream, empty_history)
    assert empty_history.count() == 0
    assert empty_history.currentItemIndex() == 0
    assert not user_data
Пример #6
0
def test_empty(empty_history):
    """Check tabhistory.serialize with no items."""
    items = []
    stream, _data, user_data = tabhistory.serialize(items)
    qtutils.deserialize_stream(stream, empty_history)
    assert empty_history.count() == 0
    assert empty_history.currentItemIndex() == 0
    assert not user_data
Пример #7
0
 def load_items(self, items):
     stream, _data, user_data = tabhistory.serialize(items)
     qtutils.deserialize_stream(stream, self._history)
     for i, data in enumerate(user_data):
         self._history.itemAt(i).setUserData(data)
     cur_data = self._history.currentItem().userData()
     if cur_data is not None:
         if "zoom" in cur_data:
             self._tab.zoom.set_factor(cur_data["zoom"])
         if "scroll-pos" in cur_data and self._tab.scroller.pos_px() == QPoint(0, 0):
             QTimer.singleShot(0, functools.partial(self._tab.scroller.to_point, cur_data["scroll-pos"]))
Пример #8
0
 def load_items(self, items):
     stream, _data, user_data = tabhistory.serialize(items)
     qtutils.deserialize_stream(stream, self._history)
     for i, data in enumerate(user_data):
         self._history.itemAt(i).setUserData(data)
     cur_data = self._history.currentItem().userData()
     if cur_data is not None:
         if 'zoom' in cur_data:
             self._tab.zoom.set_factor(cur_data['zoom'])
         if ('scroll-pos' in cur_data and
                 self._tab.scroller.pos_px() == QPoint(0, 0)):
             QTimer.singleShot(0, functools.partial(
                 self._tab.scroller.to_point, cur_data['scroll-pos']))
Пример #9
0
 def load_history(self, entries):
     """Load the history from a list of TabHistoryItem objects."""
     stream, _data, user_data = tabhistory.serialize(entries)
     history = self.history()
     qtutils.deserialize_stream(stream, history)
     for i, data in enumerate(user_data):
         history.itemAt(i).setUserData(data)
     cur_data = history.currentItem().userData()
     if cur_data is not None:
         frame = self.mainFrame()
         if 'zoom' in cur_data:
             frame.page().view().zoom_perc(cur_data['zoom'] * 100)
         if ('scroll-pos' in cur_data and
                 frame.scrollPosition() == QPoint(0, 0)):
             QTimer.singleShot(0, functools.partial(
                 frame.setScrollPosition, cur_data['scroll-pos']))
Пример #10
0
    def load_items(self, items):
        if items:
            self._tab.predicted_navigation.emit(items[-1].url)

        stream, _data, user_data = tabhistory.serialize(items)
        qtutils.deserialize_stream(stream, self._history)
        for i, data in enumerate(user_data):
            self._history.itemAt(i).setUserData(data)
        cur_data = self._history.currentItem().userData()
        if cur_data is not None:
            if 'zoom' in cur_data:
                self._tab.zoom.set_factor(cur_data['zoom'])
            if ('scroll-pos' in cur_data and
                    self._tab.scroller.pos_px() == QPoint(0, 0)):
                QTimer.singleShot(0, functools.partial(
                    self._tab.scroller.to_point, cur_data['scroll-pos']))
Пример #11
0
 def load_history(self, entries):
     """Load the history from a list of TabHistoryItem objects."""
     stream, _data, user_data = tabhistory.serialize(entries)
     history = self.history()
     qtutils.deserialize_stream(stream, history)
     for i, data in enumerate(user_data):
         history.itemAt(i).setUserData(data)
     cur_data = history.currentItem().userData()
     if cur_data is not None:
         frame = self.mainFrame()
         if 'zoom' in cur_data:
             frame.page().view().zoom_perc(cur_data['zoom'] * 100)
         if ('scroll-pos' in cur_data
                 and frame.scrollPosition() == QPoint(0, 0)):
             QTimer.singleShot(
                 0,
                 functools.partial(frame.setScrollPosition,
                                   cur_data['scroll-pos']))
Пример #12
0
    def get(self, items):
        """Get the serialized history for the given items.

        Args:
            items: A list of TabHistoryItems.

        Return:
            A list of serialized items, as dicts.
        """
        history = self.webview.page().history()

        stream, _data, user_data = tabhistory.serialize(items)
        qtutils.deserialize_stream(stream, history)
        for i, data in enumerate(user_data):
            history.itemAt(i).setUserData(data)

        d = self.sess_man._save_tab(self.webview, active=True)
        new_history = d['history']
        assert len(new_history) == len(items)
        return new_history
Пример #13
0
    def get(self, items):
        """Get the serialized history for the given items.

        Args:
            items: A list of TabHistoryItems.

        Return:
            A list of serialized items, as dicts.
        """
        history = self.webview.page().history()

        stream, _data, user_data = tabhistory.serialize(items)
        qtutils.deserialize_stream(stream, history)
        for i, data in enumerate(user_data):
            history.itemAt(i).setUserData(data)

        d = self.sess_man._save_tab(self.webview, active=True)
        new_history = d['history']
        assert len(new_history) == len(items)
        return new_history
Пример #14
0
 def set_data(items):
     history = browser.widgets()[0].page().history()
     stream, _data, user_data = tabhistory.serialize(items)
     qtutils.deserialize_stream(stream, history)
     for i, data in enumerate(user_data):
         history.itemAt(i).setUserData(data)
Пример #15
0
 def set_data(items):
     history = browser.widgets()[0].page().history()
     stream, _data, user_data = tabhistory.serialize(items)
     qtutils.deserialize_stream(stream, history)
     for i, data in enumerate(user_data):
         history.itemAt(i).setUserData(data)
Пример #16
0
def objects(empty_history):
    """Fixture providing a history (and userdata) filled with example data."""
    stream, _data, user_data = tabhistory.serialize(ITEMS)
    qtutils.deserialize_stream(stream, empty_history)
    return Objects(history=empty_history, user_data=user_data)
Пример #17
0
def test_no_active_item():
    """Check tabhistory.serialize with no active item."""
    items = [Item(QUrl(), '')]
    with pytest.raises(ValueError):
        tabhistory.serialize(items)
Пример #18
0
def objects(empty_history):
    """Fixture providing a history (and userdata) filled with example data."""
    stream, _data, user_data = tabhistory.serialize(ITEMS)
    qtutils.deserialize_stream(stream, empty_history)
    return Objects(history=empty_history, user_data=user_data)
Пример #19
0
def test_no_active_item():
    """Check tabhistory.serialize with no active item."""
    items = [Item(QUrl(), '')]
    with pytest.raises(ValueError):
        tabhistory.serialize(items)