コード例 #1
0
 def setUp(self):
     """Setup widget for testing."""
     self._entry = DateEntry(Gtk.Window(), DateEntry.TYPE_START)
コード例 #2
0
 def setUp(self):
     """Setup widget for testing."""
     self._entry = DateEntry(Gtk.Window(), DateEntry.TYPE_START)
コード例 #3
0
class DateEntryTest(unittest.TestCase):
    """Tests for :class:`datagrid_gtk3.ui.popupcal.DateEntry`."""
    def setUp(self):
        """Setup widget for testing."""
        self._entry = DateEntry(Gtk.Window(), DateEntry.TYPE_START)

    def test_set_date(self):
        """set_date should set the text for the widget based on the format."""
        self.assertEqual(self._entry.get_property('text'), '')

        self._entry.set_date(datetime.datetime(2015, 8, 10))
        self.assertEqual(self._entry.get_property('text'), '10-Aug-2015 00:00')

        self._entry.set_date(datetime.datetime(2015, 8, 12, 15, 20))
        self.assertEqual(self._entry.get_property('text'), '12-Aug-2015 15:20')

        self._entry.set_date(None)
        self.assertEqual(self._entry.get_property('text'), '')

    def test_get_date(self):
        """get_date should return a datetime based on the text on the entry."""
        self._entry.set_property('text', '')
        self.assertIsNone(self._entry.get_date())

        self._entry.set_property('text', '10-Aug-2015 00:00')
        self.assertEqual(self._entry.get_date(),
                         datetime.datetime(2015, 8, 10))

        self._entry.set_property('text', '12-Aug-2015 15:20')
        self.assertEqual(self._entry.get_date(),
                         datetime.datetime(2015, 8, 12, 15, 20))

    def test_set_text(self):
        """set_text should set the text for the widget based on the format."""
        self.assertEqual(self._entry.get_property('text'), '')

        self._entry.set_text('2-Jun-2013 06:48')
        self.assertEqual(self._entry.get_date(),
                         datetime.datetime(2013, 6, 2, 6, 48))
        self.assertEqual(self._entry.get_property('text'), '2-Jun-2013 06:48')

        self._entry.set_text('02/10/2015')
        self.assertEqual(self._entry.get_date(),
                         datetime.datetime(2015, 2, 10))
        self.assertEqual(self._entry.get_property('text'), '10-Feb-2015 00:00')

    def test_get_text(self):
        """get_text should return a formated date based on the format."""
        self.assertEqual(self._entry.get_property('text'), '')

        self._entry.set_date(datetime.datetime(2015, 8, 10))
        self.assertEqual(self._entry.get_text(), '10-Aug-2015 00:00')

        self._entry.set_date(datetime.datetime(2015, 8, 12, 15, 20))
        self.assertEqual(self._entry.get_text(), '12-Aug-2015 15:20')

    def test_popup_response_ok(self):
        """DatePicker should change the date on entry on response ok."""
        self._entry.set_date(datetime.datetime(2015, 1, 2, 10, 20))

        with mock.patch('datagrid_gtk3.ui.popupcal.Gtk.Dialog') as dialog:
            fake_dialog = FakeDialog(Gtk.ResponseType.OK)
            dialog.return_value = fake_dialog

            with mock.patch.object(self._entry, 'get_date') as get_date:
                # Entry will use the actual date to populate the date picker
                get_date.return_value = datetime.datetime(2010, 2, 3)
                self._entry._popup_picker()
            self.assertEqual(self._entry.get_date(),
                             datetime.datetime(2010, 2, 3))

    def test_popup_response_clear(self):
        """DatePicker should clear the date on entry on response clear."""
        self._entry.set_date(datetime.datetime(2015, 1, 2, 10, 20))

        with mock.patch('datagrid_gtk3.ui.popupcal.Gtk.Dialog') as dialog:
            fake_dialog = FakeDialog(99)
            dialog.return_value = fake_dialog

            self.assertEqual(self._entry.get_date(),
                             datetime.datetime(2015, 1, 2, 10, 20))
            self._entry._popup_picker()
            self.assertIsNone(self._entry.get_date())
コード例 #4
0
class DateEntryTest(unittest.TestCase):

    """Tests for :class:`datagrid_gtk3.ui.popupcal.DateEntry`."""

    def setUp(self):
        """Setup widget for testing."""
        self._entry = DateEntry(Gtk.Window(), DateEntry.TYPE_START)

    def test_set_date(self):
        """set_date should set the text for the widget based on the format."""
        self.assertEqual(self._entry.get_property('text'), '')

        self._entry.set_date(datetime.datetime(2015, 8, 10))
        self.assertEqual(self._entry.get_property('text'), '10-Aug-2015 00:00')

        self._entry.set_date(datetime.datetime(2015, 8, 12, 15, 20))
        self.assertEqual(self._entry.get_property('text'), '12-Aug-2015 15:20')

        self._entry.set_date(None)
        self.assertEqual(self._entry.get_property('text'), '')

    def test_get_date(self):
        """get_date should return a datetime based on the text on the entry."""
        self._entry.set_property('text', '')
        self.assertIsNone(self._entry.get_date())

        self._entry.set_property('text', '10-Aug-2015 00:00')
        self.assertEqual(self._entry.get_date(),
                         datetime.datetime(2015, 8, 10))

        self._entry.set_property('text', '12-Aug-2015 15:20')
        self.assertEqual(self._entry.get_date(),
                         datetime.datetime(2015, 8, 12, 15, 20))

    def test_set_text(self):
        """set_text should set the text for the widget based on the format."""
        self.assertEqual(self._entry.get_property('text'), '')

        self._entry.set_text('2-Jun-2013 06:48')
        self.assertEqual(self._entry.get_date(),
                         datetime.datetime(2013, 6, 2, 6, 48))
        self.assertEqual(self._entry.get_property('text'), '2-Jun-2013 06:48')

        self._entry.set_text('02/10/2015')
        self.assertEqual(self._entry.get_date(),
                         datetime.datetime(2015, 2, 10))
        self.assertEqual(self._entry.get_property('text'), '10-Feb-2015 00:00')

    def test_get_text(self):
        """get_text should return a formated date based on the format."""
        self.assertEqual(self._entry.get_property('text'), '')

        self._entry.set_date(datetime.datetime(2015, 8, 10))
        self.assertEqual(self._entry.get_text(), '10-Aug-2015 00:00')

        self._entry.set_date(datetime.datetime(2015, 8, 12, 15, 20))
        self.assertEqual(self._entry.get_text(), '12-Aug-2015 15:20')

    def test_popup_response_ok(self):
        """DatePicker should change the date on entry on response ok."""
        self._entry.set_date(datetime.datetime(2015, 1, 2, 10, 20))

        with mock.patch('datagrid_gtk3.ui.popupcal.Gtk.Dialog') as dialog:
            fake_dialog = FakeDialog(Gtk.ResponseType.OK)
            dialog.return_value = fake_dialog

            with mock.patch.object(self._entry, 'get_date') as get_date:
                # Entry will use the actual date to populate the date picker
                get_date.return_value = datetime.datetime(2010, 2, 3)
                self._entry._popup_picker()
            self.assertEqual(self._entry.get_date(),
                             datetime.datetime(2010, 2, 3))

    def test_popup_response_clear(self):
        """DatePicker should clear the date on entry on response clear."""
        self._entry.set_date(datetime.datetime(2015, 1, 2, 10, 20))

        with mock.patch('datagrid_gtk3.ui.popupcal.Gtk.Dialog') as dialog:
            fake_dialog = FakeDialog(99)
            dialog.return_value = fake_dialog

            self.assertEqual(self._entry.get_date(),
                             datetime.datetime(2015, 1, 2, 10, 20))
            self._entry._popup_picker()
            self.assertIsNone(self._entry.get_date())