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)
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"))
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.")
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)