def test_StatusBarInfo(self):
     window = BaseWindow(ui_file)
     with patch.object(window, 'statusbar') as status_bar_patch:
         msg = "custom_message"
         window.StatusBarInfo(msg)
         self.assertEqual(status_bar_patch.showMessage.call_count, 1)
         self.assertEqual(len(status_bar_patch.showMessage.call_args[0]), 2)
         self.assertEqual(status_bar_patch.showMessage.call_args[0][0], msg)
         self.assertEqual(status_bar_patch.showMessage.call_args[0][1], 9000)
    def test_set_active_window_reset(self):
        parent_window = BaseWindow(ui_file)
        parent_window.show()

        window = BaseWindow(ui_file, parent_window)

        window.show()
        window.close()

        self.assertIs(active_window.ACTIVE_WINDOW, parent_window)
    def setUpClass(cls):
        # doing this only once to save time (waiting for window to show takes time)
        cls.window = BaseWindow(ui_file)

        # this is required for testing shortcuts
        # see https://stackoverflow.com/a/20751213
        cls.window.show()
        QTest.qWaitForWindowExposed(cls.window)
    def test_set_active_window(self):
        window = BaseWindow(ui_file)
        window.show()

        window.setWindowState(Qt.WindowMinimized)

        self.assertIs(active_window.ACTIVE_WINDOW, window)
    def test_minimize(self):
        window = BaseWindow(ui_file)
        self.assertTrue(window.isHidden())

        window.ShowOnTop()

        window.setWindowState(Qt.WindowMinimized)

        self.assertFalse(window.isActiveWindow())
        self.assertTrue(window.isMinimized())
        self.assertTrue(window.isVisible())
        self.assertFalse(window.isHidden())
        self.assertEqual(window.windowState(), Qt.WindowMinimized)

        window.ShowOnTop()

        # self.assertTrue(window.isActiveWindow()) # commented as doesn't work in the CI and in Linux, seems OS dependent
        self.assertFalse(window.isMinimized())
        self.assertTrue(window.isVisible())
        self.assertFalse(window.isHidden())
        self.assertEqual(window.windowState(), Qt.WindowNoState)

        window.close()
    def test_hide_show_parent(self):
        parent_window = BaseWindow(ui_file)
        parent_window.show()
        self.assertTrue(parent_window.isVisible())

        window = BaseWindow(ui_file, parent_window)
        self.assertFalse(parent_window.isVisible())

        window.close()
        self.assertTrue(parent_window.isVisible())