def test_overlay_message(self): container = QWidget() overlay = MessageOverlayWidget(parent=container) overlay.setWidget(container) overlay.setIcon(QStyle.SP_MessageBoxInformation) container.show() QTest.qWaitForWindowExposed(container) self.assertTrue(overlay.isVisible()) overlay.setText("Hello world! It's so nice here") QApplication.sendPostedEvents(overlay, QEvent.LayoutRequest) self.assertTrue(overlay.geometry().isValid()) button_ok = overlay.addButton(MessageOverlayWidget.Ok) button_close = overlay.addButton(MessageOverlayWidget.Close) button_help = overlay.addButton(MessageOverlayWidget.Help) self.assertTrue(all([button_ok, button_close, button_help])) self.assertIs(overlay.button(MessageOverlayWidget.Ok), button_ok) self.assertIs(overlay.button(MessageOverlayWidget.Close), button_close) self.assertIs(overlay.button(MessageOverlayWidget.Help), button_help) button = overlay.addButton("Click Me!", MessageOverlayWidget.AcceptRole) self.assertIsNot(button, None) self.assertTrue(overlay.buttonRole(button), MessageOverlayWidget.AcceptRole) mock = unittest.mock.MagicMock() overlay.accepted.connect(mock) QTest.mouseClick(button, Qt.LeftButton) self.assertFalse(overlay.isVisible()) mock.assert_called_once_with()
def test_notification_message(self): self.notif.setText("Hello world! It's so nice here") QApplication.sendPostedEvents(self.notif, QEvent.LayoutRequest) self.assertTrue(self.notif.geometry().isValid()) button_ok = self.notif.button(NotificationWidget.Ok) button_close = self.notif.button(NotificationWidget.Close) self.assertTrue(all([button_ok, button_close])) self.assertIs(self.notif.button(NotificationWidget.Ok), button_ok) self.assertIs(self.notif.button(NotificationWidget.Close), button_close) button = self.notif.button(NotificationWidget.Ok) self.assertIsNot(button, None) self.assertTrue(self.notif.buttonRole(button), NotificationWidget.AcceptRole) mock = unittest.mock.MagicMock() self.notif.accepted.connect(mock) NotificationOverlay.registerNotification(self.notif) cloned = NotificationOverlay.overlayInstances[0].currentWidget() self.assertTrue(cloned.isVisible()) button = cloned._msgwidget.button(NotificationWidget.Ok) QTest.mouseClick(button, Qt.LeftButton) self.assertFalse(cloned.isVisible()) mock.assert_called_once()
def test_notification_widget(self): stdb = NotificationWidget.Ok | NotificationWidget.Close notifw = NotificationWidget(self.overlay, title="Titl", text="Tixt", standardButtons=stdb) QApplication.sendPostedEvents(notifw, QEvent.LayoutRequest) self.assertTrue(notifw.geometry().isValid()) button_ok = notifw.button(NotificationWidget.Ok) button_close = notifw.button(NotificationWidget.Close) self.assertTrue(all([button_ok, button_close])) button = notifw.button(NotificationWidget.Ok) self.assertIsNot(button, None) self.assertEqual(notifw.buttonRole(button), NotificationWidget.AcceptRole)