示例#1
0
    def test_gApplicationActivate(self):
        """
        L{Gio.Application} instances can be registered with a gireactor.
        """
        reactor = gireactor.GIReactor(useGtk=False)
        self.addCleanup(self.unbuildReactor, reactor)
        app = Gio.Application(
            application_id='com.twistedmatrix.trial.gireactor',
            flags=Gio.ApplicationFlags.FLAGS_NONE)

        self.runReactor(app, reactor)
示例#2
0
 def test_noQuit(self):
     """
     Older versions of PyGObject lack C{Application.quit}, and so won't
     allow registration.
     """
     reactor = gireactor.GIReactor(useGtk=False)
     self.addCleanup(self.unbuildReactor, reactor)
     # An app with no "quit" method:
     app = object()
     exc = self.assertRaises(RuntimeError, reactor.registerGApplication, app)
     self.assertTrue(exc.args[0].startswith(
             "Application registration is not"))
示例#3
0
 def test_cantRegisterTwice(self):
     """
     It is not possible to register more than one C{Application}.
     """
     reactor = gireactor.GIReactor(useGtk=False)
     self.addCleanup(self.unbuildReactor, reactor)
     app = Gio.Application(
         application_id='com.twistedmatrix.trial.gireactor',
         flags=Gio.ApplicationFlags.FLAGS_NONE)
     reactor.registerGApplication(app)
     app2 = Gio.Application(
         application_id='com.twistedmatrix.trial.gireactor2',
         flags=Gio.ApplicationFlags.FLAGS_NONE)
     exc = self.assertRaises(RuntimeError,
                                 reactor.registerGApplication, app2)
     self.assertEqual(exc.args[0],
                      "Can't register more than one application instance.")
示例#4
0
    def test_cantRegisterAfterRun(self):
        """
        It is not possible to register a C{Application} after the reactor has
        already started.
        """
        reactor = gireactor.GIReactor(useGtk=False)
        self.addCleanup(self.unbuildReactor, reactor)
        app = Gio.Application(
            application_id='com.twistedmatrix.trial.gireactor',
            flags=Gio.ApplicationFlags.FLAGS_NONE)

        def tryRegister():
            exc = self.assertRaises(ReactorAlreadyRunning,
                                    reactor.registerGApplication, app)
            self.assertEqual(exc.args[0],
                             "Can't register application after reactor was started.")
            reactor.stop()
        reactor.callLater(0, tryRegister)
        ReactorBuilder.runReactor(self, reactor)