@@ -40,52 +40,68 @@ class TestLockscreen(UnityTestCase):
4040 """Must be able to unlock the PIN entry lock screen."""
4141 self.launch_unity()
4242 greeter = self.main_window.get_greeter()
43− greeter.unlock()
4443
45− lockscreen = self._wait_for_lockscreen()
46− self._enter_pincode("1234")
47−
48− self.assertThat(lockscreen.shown, Eventually(Equals(False)))
44+ if greeter.narrowMode:
45+ greeter.swipe()
46+ lockscreen = self._wait_for_lockscreen()
47+ self._enter_pincode("1234")
48+ self.assertThat(lockscreen.shown, Eventually(Equals(False)))
49+ else:
50+ self._enter_prompt_passphrase("1234")
51+ self.assertThat(greeter.shown, Eventually(Equals(False)))
4952
5053 @with_lightdm_mock("single-passphrase")
5154 def test_can_unlock_passphrase_screen(self):
5255 """Must be able to unlock the passphrase entry screen."""
5356 self.launch_unity()
5457 greeter = self.main_window.get_greeter()
55− greeter.unlock()
56−
57− lockscreen = self._wait_for_lockscreen()
58− self._enter_passphrase("password")
5958
60− self.assertThat(lockscreen.shown, Eventually(Equals(False)))
59+ if greeter.narrowMode:
60+ greeter.swipe()
61+ lockscreen = self._wait_for_lockscreen()
62+ self._enter_pin_passphrase("password")
63+ self.assertThat(lockscreen.shown, Eventually(Equals(False)))
64+ else:
65+ self._enter_prompt_passphrase("password")
66+ self.assertThat(greeter.shown, Eventually(Equals(False)))
6167
6268 @with_lightdm_mock("single-pin")
6369 def test_pin_screen_wrong_code(self):
6470 """Entering the wrong pin code must not dismiss the lock screen."""
6571 self.launch_unity()
6672 greeter = self.main_window.get_greeter()
67− greeter.unlock()
68−
69− lockscreen = self._wait_for_lockscreen()
70− self._enter_pincode("4321")
7173
72− pinentryField = self.main_window.get_pinentryField()
73− self.assertThat(pinentryField.text, Eventually(Equals("")))
74− self.assertThat(lockscreen.shown, Eventually(Equals(True)))
74+ if greeter.narrowMode:
75+ greeter.swipe()
76+ lockscreen = self._wait_for_lockscreen()
77+ self._enter_pincode("4321")
78+ pinentryField = self.main_window.get_pinentryField()
79+ self.assertThat(pinentryField.text, Eventually(Equals("")))
80+ self.assertThat(lockscreen.shown, Eventually(Equals(True)))
81+ else:
82+ self._enter_prompt_passphrase("4231")
83+ prompt = self.main_window.get_greeter().get_prompt()
84+ self.assertThat(prompt.text, Eventually(Equals("")))
85+ self.assertThat(greeter.shown, Eventually(Equals(True)))
7586
7687 @with_lightdm_mock("single-passphrase")
7788 def test_passphrase_screen_wrong_password(self):
7889 """Entering the wrong password must not dismiss the lock screen."""
7990 self.launch_unity()
8091 greeter = self.main_window.get_greeter()
81− greeter.unlock()
8292
83− lockscreen = self._wait_for_lockscreen()
84− self._enter_passphrase("foobar")
85−
86− pinentryField = self.main_window.get_pinentryField()
87− self.assertThat(pinentryField.text, Eventually(Equals("")))
88− self.assertThat(lockscreen.shown, Eventually(Equals(True)))
93+ if greeter.narrowMode:
94+ greeter.swipe()
95+ lockscreen = self._wait_for_lockscreen()
96+ self._enter_pin_passphrase("foobar")
97+ pinentryField = self.main_window.get_pinentryField()
98+ self.assertThat(pinentryField.text, Eventually(Equals("")))
99+ self.assertThat(lockscreen.shown, Eventually(Equals(True)))
100+ else:
101+ self._enter_prompt_passphrase("foobar")
102+ prompt = self.main_window.get_greeter().get_prompt()
103+ self.assertThat(prompt.text, Eventually(Equals("")))
104+ self.assertThat(greeter.shown, Eventually(Equals(True)))
89105
90106 def _wait_for_lockscreen(self):
91107 """Wait for the lock screen to load, and return it."""
@@ -114,9 +130,9 @@ class TestLockscreen(UnityTestCase):
114130 )
115131 self.touch.tap_object(self.main_window.get_pinPadButton(int(num)))
116132
117− def _enter_passphrase(self, passphrase):
133+ def _enter_pin_passphrase(self, passphrase):
118134 """Enter the password specified in 'passphrase' into the password entry
119− field.
135+ field of the pin lock screen.
120136
121137 :param passphrase: The string you want to enter.
122138 :raises: TypeError if passphrase is not a string.
@@ -129,3 +145,19 @@ class TestLockscreen(UnityTestCase):
129145 self.touch.tap_object(pinentryField)
130146 self.keyboard.type(passphrase)
131147 self.keyboard.type("\n")
148+
149+ def _enter_prompt_passphrase(self, passphrase):
150+ """Enter the password specified in 'passphrase' into the password entry
151+ field of the main user list's prompt.
152+
153+ :param passphrase: The string you want to enter.
154+ :raises: TypeError if passphrase is not a string.
155+
156+ """
157+ if not isinstance(passphrase, basestring):
158+ raise TypeError("'passphrase' parameter must be a string.")
159+
160+ prompt = self.main_window.get_greeter().get_prompt()
161+ self.touch.tap_object(prompt)
162+ self.keyboard.type(passphrase)
163+ self.keyboard.type("\n")