def test_move_to_window(self): # Create destination window with one tab dest = TabbedWindow() dest.addView(QtGui.QWidget(), "test") # Get reference of the view to be moved index = self.ghost.index() view = self.window.tabs.widget(index) text = self.window.tabs.tabText(index) # Move tab into new window self.tabbar._move_to_window(dest, dest.tabs.tabBar().tabRect(0).topLeft(), self.ghost) # pylint: disable=W0212 # Check self.assertFalse(self.window.tabs.count()) self.assertEqual(dest.tabs.count(), 2) self.assertEqual(dest.tabs.widget(0), view) self.assertEqual(dest.tabs.tabText(0), text) self.assertEqual(dest.currentView(), view)
class TabbedWindowTests(WidgetTestsMixin, unittest.TestCase): """ TabbedWindow test cases """ def setUp(self): # Call superclass super(TabbedWindowTests, self).setUp() # Set up self.window = TabbedWindow() def test_clone(self): rect = self.window.geometry().adjusted(10, 10, 10, 10) clone = self.window.clone(rect) self.assertIsInstance(clone, TabbedWindow) self.assertEqual(clone.geometry(), rect) def test_add_view(self): # Add view view = QtGui.QWidget() title = "title" index = self.window.addView(view, title) # Check self.assertEqual(index, 0) self.assertEqual(self.window.tabs.tabText(index), title) self.assertEqual(self.window.tabs.widget(index), view) def test_insert_view(self): # Add view view1 = QtGui.QWidget() title1 = "title1" index = self.window.addView(view1, title1) self.assertEqual(index, 0) # Insert another view view2 = QtGui.QWidget() title2 = "title2" index = self.window.insertView(QtCore.QPoint(), view2, title2) # Check self.assertEqual(index, 0) self.assertEqual(self.window.tabs.tabText(index), title2) self.assertEqual(self.window.tabs.widget(index), view2) self.assertEqual(self.window.tabs.tabText(index + 1), title1) self.assertEqual(self.window.tabs.widget(index + 1), view1) def test_current_view(self): # Add view view1 = QtGui.QWidget() view2 = QtGui.QWidget() title1 = "title1" title2 = "title2" index1 = self.window.addView(view1, title1) index2 = self.window.addView(view2, title2) # Check set current view self.window.setCurrentView(index1) self.assertEqual(self.window.currentView(), view1) self.window.setCurrentView(index2) self.assertEqual(self.window.currentView(), view2) def test_remove_view(self): # Add view view = QtGui.QWidget() title = "title" index = self.window.addView(view, title) self.assertEqual(self.window.tabs.widget(index), view) # Remove view self.window.removeView(index) self.assertIsNone(self.window.tabs.widget(index))