17
17
"""Tests for the Ubuntu UI Toolkit Gallery - ComboButton component"""
19
19
import testscenarios
20
from testtools.matchers import Equals
21
from fixtures import EnvironmentVariable
23
from ubuntuuitoolkit.tests import gallery
22
24
from ubuntuuitoolkit import ubuntu_scenarios
23
from ubuntuuitoolkit.tests import gallery
28
27
class ComboButtonsTestCase(gallery.GalleryTestCase):
30
combo_buttons_scenarios = [
31
('standard combo button', dict(
32
combo_button_name="combobutton_collapsed", icon=None, text="Press me", expanded=False)),
33
('standard combo button', dict(
34
combo_button_name="combobutton_collapsed_icon", icon="call.png", text=None, expanded=False)),
35
('standard combo button', dict(
36
combo_button_name="combobutton_collapsed_icon_and_text", icon="call.png", text="Answer", expanded=False)),
37
('standard combo button', dict(
38
combo_button_name="combobutton_expanded", icon=None, text="Press me", expanded=True))
41
scenarios = testscenarios.multiply_scenarios(
42
ubuntu_scenarios.get_device_simulation_scenarios(),
43
combo_buttons_scenarios)
29
scenarios = testscenarios.multiply_scenarios(ubuntu_scenarios.get_device_simulation_scenarios())
46
# Reset the locale to English
47
os.environ['LANGUAGE'] = 'en'
32
self.useFixture(EnvironmentVariable('LANGUAGE', 'en'))
50
def test_combo_buttons(self):
51
self.open_page('buttonsElement')
53
combo_button = self.app.select_single(objectName=self.combo_button_name)
54
self.assertIsNot(combo_button, None)
56
if self.icon is not None:
57
self.assertTrue(combo_button.iconSource.endswith(self.icon))
59
if self.text is not None:
60
self.assertEquals(self.text, combo_button.text)
63
self.assertTrue(combo_button.expanded)
64
self.assertEquals(combo_button.expandedHeight, combo_button.height)
66
self.assertFalse(combo_button.expanded)
35
def test_collapsed_combo_button_has_text(self):
36
self.open_page('buttonsElement')
38
combo_button = self.app.select_single('ComboButton', objectName='collapsed')
40
self.assertIsNot(combo_button, None)
41
self.assertEquals('Press me', combo_button.text)
42
self.assertFalse(combo_button.expanded)
44
def test_collapsed_combo_button_has_icon(self):
45
self.open_page('buttonsElement')
47
combo_button = self.app.select_single('ComboButton', objectName='collapsed_icon')
49
self.assertIsNot(combo_button, None)
50
self.assertTrue(combo_button.iconSource.endswith('call.png'))
51
self.assertFalse(combo_button.expanded)
53
def test_collapsed_combo_button_has_icon_and_text(self):
54
self.open_page('buttonsElement')
56
combo_button = self.app.select_single('ComboButton', objectName='collapsed_icon_and_text')
58
self.assertIsNot(combo_button, None)
59
self.assertTrue(combo_button.iconSource.endswith('call.png'))
60
self.assertEquals('Answer', combo_button.text)
61
self.assertFalse(combo_button.expanded)
63
def test_expanded_combo_button_has_text_and_correct_size(self):
64
self.open_page('buttonsElement')
66
combo_button = self.app.select_single('ComboButton', objectName='expanded')
67
self.assertIsNot(combo_button, None)
68
self.assertEquals('Press me', combo_button.text)
69
self.assertTrue(combo_button.expanded)
70
self.assertEquals(combo_button.expandedHeight, combo_button.height)
72
combo_list = self.app.select_single(objectName='expanded_list')
73
self.assertIsNot(combo_list, None)
74
self.assertEquals(10, combo_list.count)