def test_qt_cursor(self):
     """ Does the Qt kill ring maintain state with cursor movement?
     """
     text_edit = QtGui.QPlainTextEdit()
     ring = QtKillRing(text_edit)
     
     ring.kill('foo')
     ring.kill('bar')
     ring.yank()
     text_edit.moveCursor(QtGui.QTextCursor.Left)
     ring.rotate()
     self.assertEqual(text_edit.toPlainText(), 'bar')
    def test_qt_basic(self):
        """ Does the Qt kill ring work?
        """
        text_edit = QtGui.QPlainTextEdit()
        ring = QtKillRing(text_edit)

        ring.kill('foo')
        ring.kill('bar')
        ring.yank()
        ring.rotate()
        ring.yank()
        self.assertEqual(text_edit.toPlainText(), 'foobar')

        text_edit.clear()
        ring.kill('baz')
        ring.yank()
        ring.rotate()
        ring.rotate()
        ring.rotate()
        self.assertEqual(text_edit.toPlainText(), 'foo')