~mvo/ubuntu-sso-client/strawman-lp711413

« back to all changes in this revision

Viewing changes to ubuntu_sso/gtk/tests/test_gui.py

  • Committer: Tarmac
  • Author(s): Natalia B. Bidart
  • Date: 2010-11-24 13:31:24 UTC
  • mfrom: (650.2.7 split-gui)
  • Revision ID: tarmac-20101124133124-rm1bks9lhpmfh75z
* Make UI more friendly to resizes and big fonts (LP: #627496).
* Splitting GUI code out of backend (LP: #677518).

Show diffs side-by-side

added added

removed removed

Lines of Context:
32
32
from twisted.trial.unittest import TestCase
33
33
 
34
34
from contrib.testing.testcase import MementoHandler
35
 
from ubuntu_sso import gui
 
35
from ubuntu_sso.gtk import gui
36
36
from ubuntu_sso.tests import (APP_NAME, TC_URL, HELP_TEXT, CAPTCHA_ID,
37
37
    CAPTCHA_SOLUTION, EMAIL, EMAIL_TOKEN, NAME, PASSWORD, RESET_PASSWORD_TOKEN)
38
38
 
410
410
 
411
411
    def assert_warnings_visibility(self, visible=False):
412
412
        """Every warning label should be 'visible'."""
413
 
        msg = '"%s" should be %svisible.'
 
413
        msg = '"%s" should have %sempty content.'
414
414
        for name in self.ui.widgets:
415
415
            widget = getattr(self.ui, name)
416
416
            if 'warning' in name:
417
 
                self.assertEqual(visible, widget.get_property('visible'),
418
 
                                 msg % (name, '' if visible else 'not '))
 
417
                self.assertEqual('', widget.get_text(),
 
418
                                 msg % (name, '' if visible else 'non-'))
419
419
            elif 'entry' in name:
420
420
                self.assertEqual(widget.warning, '')
421
421
 
595
595
            entry = getattr(self.ui, name)
596
596
            self.assertTrue(entry.get_activates_default(), msg % (name,))
597
597
 
598
 
    def test_initial_size_for_labels(self):
599
 
        """Labels have the correct width."""
600
 
        expected = (int(self.ui.window.get_size_request()[0] * 0.9), -1)
601
 
        msg = 'Label %r must have size request %s (got %s instead).'
 
598
    def test_label_size_allocated_is_connected(self):
 
599
        """Labels have the size-allocate signal connected."""
 
600
        msg = 'Label %r must have size-allocate connected.'
602
601
        labels = [i for i in self.ui.widgets if 'label' in i]
603
602
        for label in labels:
604
603
            widget = getattr(self.ui, label)
605
 
            actual = widget.get_size_request()
606
 
            self.assertEqual(expected, actual, msg % (label, expected, actual))
 
604
            widget.emit('size-allocate', gtk.gdk.Rectangle(1, 2, 3, 4))
 
605
            self.assertEqual(widget.get_size_request(), (3, 4), msg % (label,))
607
606
 
608
607
    def test_password_fields_are_password(self):
609
608
        """Password fields have the is_password flag set."""
614
613
            widget = getattr(self.ui, name)
615
614
            self.assertTrue(widget.is_password, msg % name)
616
615
 
617
 
    def test_warning_fields_are_hidden(self):
618
 
        """Every warning label should be not visible."""
 
616
    def test_warning_fields_are_cleared(self):
 
617
        """Every warning label should be cleared."""
619
618
        self.assert_warnings_visibility()
620
619
 
621
620
    def test_cancel_buttons_close_window(self):
1525
1524
        self.click_connect_with_valid_data()
1526
1525
        self.ui.on_login_error(app_name=APP_NAME, error=self.error)
1527
1526
        self.ui.login_back_button.clicked()
1528
 
        self.assertFalse(self.ui.warning_label.get_property('visible'))
 
1527
        self.assert_warnings_visibility()
1529
1528
 
1530
1529
    def test_login_ok_button_does_nothing_if_clicked_but_disabled(self):
1531
1530
        """The join form can only be submitted if the button is sensitive."""