Esempio n. 1
0
 def test_should_provide_the_cursor_routine(self):
   testhelper.Events.routine_created(self._view, self._plan)
   self._view.show()
   testhelper.gtk_update_gui()
   assert(self._view.cursor_routine(gi.repository.Gdk.EventButton()) == self._plan.routines[-1])
   self._view.close()
   testhelper.gtk_update_gui()
Esempio n. 2
0
 def _do_dialog_accept(self, tmpdir):
   name = 'export.json'
   path = os.path.join(tmpdir, name)
   self._controller.view.set_current_folder(tmpdir)
   self._controller.view.set_current_name(name)
   testhelper.gtk_update_gui()
   self._controller.view.get_widget_for_response(gi.repository.Gtk.ResponseType.ACCEPT).emit('clicked')
Esempio n. 3
0
 def test_should_draw_itself(self):
   w = gi.repository.Gtk.Window()
   w.add(self._view)
   w.show_all()
   testhelper.gtk_update_gui()
   w.hide()
   testhelper.gtk_update_gui()
Esempio n. 4
0
def test_gtk_update_gui():
  builder = gi.repository.Gtk.Builder()
  builder.add_from_resource(beeps.views.planview.PLAN_UI)
  w = builder.get_object('planwindow')
  w.emit('destroy')
  assert(gi.repository.Gtk.events_pending() == True)
  testhelper.gtk_update_gui()
  assert(gi.repository.Gtk.events_pending() == False)
Esempio n. 5
0
 def test_should_be_able_to_quit_a_routine_that_is_in_progress(self):
   l = testhelper.Listener()
   self._controller.model.runner.connect('event', l.call)
   d = 100
   self._create_routine(d)
   self._setup_callback(self._controller.view.lookup_action('control::startstop').activate)
   self._setup_callback(self._do_close_window)
   gi.repository.Gtk.main()
   testhelper.gtk_update_gui()
   assert(self._plan.runner.has_state(beeps.models.plan.Runner.State.STOPPED) == True)
   assert(0 < l.elapsed(beeps.helpers.event.RoutineStarted, beeps.helpers.event.IntervalProgressed) < d)
Esempio n. 6
0
 def setup_method(self, method):
   # create a new view, connect it up, pre-existing routines are not
   # loaded; can clear out the plan here, but useful for now not to for
   # robustification:
   # for r in self._controller.model.routines:
   #  self._plan.delete_routine(r)
   self._plan = beeps.models.plan.Plan()
   self._controller = beeps.controllers.plancontroller.PlanController(self._plan, self._app)
   self._controller.run()
   self._idle_delay = testhelper.CallbackDelay()
   testhelper.gtk_update_gui()
Esempio n. 7
0
 def _do_control_startstop_toggled(self):
   action = self._controller.view.lookup_action('control::startstop')
   action.activate()
   testhelper.gtk_update_gui()
   assert(self._plan.runner.has_state(beeps.models.plan.Runner.State.RUNNING))
   action.activate()
   testhelper.gtk_update_gui()
   assert(self._plan.runner.has_state(beeps.models.plan.Runner.State.PAUSED))
   self._do_close_window()
   testhelper.gtk_update_gui()
Esempio n. 8
0
 def teardown_method(self, method):
   self._view.close()
   self._controller.calls.clear()
   testhelper.gtk_update_gui()
Esempio n. 9
0
def assert_selected_routine(view, plan):
  testhelper.Events.routine_created(view, plan)
  testhelper.Events.routine_loaded(view, plan)
  testhelper.gtk_update_gui()
  assert(view.selected_routine() == plan.routines[-1])
Esempio n. 10
0
def assert_selected_interval(view, plan):
  testhelper.Events.routine_created(view, plan)
  testhelper.Events.routine_loaded(view, plan)
  testhelper.Events.interval_created(view, plan)
  testhelper.gtk_update_gui()
  assert(view.selected_interval().time == plan.routines[0].intervals[0].time)
Esempio n. 11
0
 def teardown_method(self, method):
   testhelper.gtk_update_gui()
Esempio n. 12
0
 def _do_close_windows(self):
     testhelper.gtk_update_gui()
     for w in self._app.get_windows():
         w.close()
     testhelper.gtk_update_gui()
Esempio n. 13
0
 def _do_close_dialog(self):
     testhelper.gtk_update_gui()
     gi.repository.Gtk.grab_get_current().close()
     testhelper.gtk_update_gui()
     # dialog and window now closed, quit main loop
     gi.repository.Gtk.main_quit()
Esempio n. 14
0
 def _do_dialog_accept(self):
   testhelper.gtk_update_gui()
   self._controller.view.get_widget_for_response(gi.repository.Gtk.ResponseType.ACCEPT).emit('clicked')
Esempio n. 15
0
 def _do_close_dialog_and_window(self):
   gi.repository.Gtk.grab_get_current().close()
   testhelper.gtk_update_gui()
   self._controller.view.close()
   # dialog and window now closed, quit main loop
   gi.repository.Gtk.main_quit()
Esempio n. 16
0
 def teardown_method(self, method):
   self._view.quit()
   testhelper.gtk_update_gui()
Esempio n. 17
0
def test_gtk_run_dialog():
  dialog = gi.repository.Gtk.FileChooserDialog(title = 'test_gtk_run_dialog', action = gi.repository.Gtk.FileChooserAction.OPEN, buttons = ('Cancel', gi.repository.Gtk.ResponseType.CANCEL))
  button = dialog.get_widget_for_response(gi.repository.Gtk.ResponseType.CANCEL)
  testhelper.gtk_run_dialog(dialog, gi.repository.Gtk.ResponseType.CANCEL, button.emit, 'clicked')
  dialog.close()
  testhelper.gtk_update_gui()