def testAcceptCurrentPanel(self):
        """ test accepting current panel """

        s = QgsPanelWidgetStack()
        # call on empty stack
        s.acceptCurrentPanel()

        mp = QgsPanelWidget()
        s.setMainPanel(mp)
        # call on main panel - should be no effect
        s.acceptCurrentPanel()
        self.assertEqual(s.mainPanel(), mp)
        self.assertEqual(s.currentPanel(), mp)

        # add panels
        p1 = QgsPanelWidget()
        s.showPanel(p1)
        p2 = QgsPanelWidget()
        s.showPanel(p2)

        # accept them
        self.assertEqual(s.currentPanel(), p2)
        p2_accept_spy = QSignalSpy(p2.panelAccepted)
        s.acceptCurrentPanel()
        self.assertEqual(s.currentPanel(), p1)
        self.assertEqual(len(p2_accept_spy), 1)
        p1_accept_spy = QSignalSpy(p1.panelAccepted)
        s.acceptCurrentPanel()
        self.assertEqual(s.currentPanel(), mp)
        self.assertEqual(len(p1_accept_spy), 1)
    def testAcceptCurrentPanel(self):
        """ test accepting current panel """

        s = QgsPanelWidgetStack()
        # call on empty stack
        s.acceptCurrentPanel()

        mp = QgsPanelWidget()
        s.setMainPanel(mp)
        # call on main panel - should be no effect
        s.acceptCurrentPanel()
        self.assertEqual(s.mainPanel(), mp)
        self.assertEqual(s.currentPanel(), mp)

        # add panels
        p1 = QgsPanelWidget()
        s.showPanel(p1)
        p2 = QgsPanelWidget()
        s.showPanel(p2)

        # accept them
        self.assertEqual(s.currentPanel(), p2)
        p2_accept_spy = QSignalSpy(p2.panelAccepted)
        s.acceptCurrentPanel()
        self.assertEqual(s.currentPanel(), p1)
        self.assertEqual(len(p2_accept_spy), 1)
        p1_accept_spy = QSignalSpy(p1.panelAccepted)
        s.acceptCurrentPanel()
        self.assertEqual(s.currentPanel(), mp)
        self.assertEqual(len(p1_accept_spy), 1)