19 from testscenarios
import multiply_scenarios
29 from autopilot.matchers
import Eventually
30 from testtools.matchers
import Equals, NotEquals
34 class TestIndicatorBaseTestCase(tests.IndicatorTestCase):
36 scenarios = [ tests.IndicatorTestCase.device_emulation_scenarios[0] ]
39 super(TestIndicatorBaseTestCase, self).setUp()
41 self.launch_indicator_service()
44 self.indicator = indicators.TestIndicator(self.main_window)
46 self.indicator.is_indicator_icon_visible(),
47 Eventually(Equals(
True), timeout=20)
49 self.indicator_page = self.indicator.open()
51 def launch_indicator_service(self):
52 launch_service_fixture = fixture_setup.LaunchMockIndicatorService(self.action_delay)
53 self.useFixture(launch_service_fixture)
58 """Test that an action causes the server to update"""
61 (
'Low', {
'action_delay': 0}),
62 (
'Medium', {
'action_delay': 2500}),
63 (
'High', {
'action_delay': 8000}),
65 scenarios = multiply_scenarios(
67 TestIndicatorBaseTestCase.scenarios
70 def test_switch_reaches_server_value(self):
71 switch = self.indicator_page.get_switcher()
72 switch_menu = self.indicator_page.get_switch_menu()
77 switch_menu.serverChecked,
78 Eventually(Equals(switch.checked), timeout=20)
81 def test_slider_reaches_server_value(self):
82 slider = self.indicator_page.get_slider()
83 slider_menu = self.indicator_page.get_slider_menu()
85 old_value = slider.value
89 slider_menu.serverValue,
90 Eventually(NotEquals(old_value), timeout=20)
94 slider_menu.serverValue,
95 Eventually(Equals(slider.value), timeout=20)
100 """Test that switching multiple times will buffer activations
102 See https://bugs.launchpad.net/ubuntu/+source/unity8/+bug/1390136 .
106 def test_switch_buffers_actvations(self):
108 switch = self.indicator_page.get_switcher()
109 switch.change_state()
110 intermediate_value = switch.checked;
113 switch.change_state()
114 final_value = switch.checked;
117 switch_menu = self.indicator_page.get_switch_menu()
119 switch_menu.serverChecked,
120 Eventually(Equals(intermediate_value), timeout=20)
132 switch_menu.serverChecked,
133 Eventually(Equals(final_value), timeout=20)
139 Equals(switch_menu.serverChecked)
142 def test_slider_buffers_activations(self):
144 slider = self.indicator_page.get_slider()
145 original_value = slider.value;
150 final_value = slider.value;
154 slider_menu = self.indicator_page.get_slider_menu()
156 slider_menu.serverValue,
157 Eventually(NotEquals(original_value), timeout=20)
162 slider_menu.serverValue,
163 NotEquals(final_value)
174 slider_menu.serverValue,
175 Eventually(Equals(final_value), timeout=20)
181 Equals(slider_menu.serverValue)
187 """Test that an action which does not respond in time will revert
188 to original value if not actioned in time.
190 See https://bugs.launchpad.net/ubuntu/+source/unity8/+bug/1390136 .
194 def test_switch_reverts_on_late_response(self):
196 switch = self.indicator_page.get_switcher()
197 switch_menu = self.indicator_page.get_switch_menu()
199 original_value = switch.checked;
200 switch.change_state()
205 Eventually(Equals(original_value), timeout=20)
211 Equals(switch_menu.serverChecked)
214 def test_slider_reverts_on_late_response(self):
216 slider = self.indicator_page.get_slider()
217 slider_menu = self.indicator_page.get_slider_menu()
219 original_value = slider.value;
225 Eventually(Equals(original_value), timeout=20)
231 Equals(slider_menu.serverValue)