Skip to content

Commit fd14bfa

Browse files
committed
Fixing test_click_modifier.py for using pytest
1 parent 4e7dd17 commit fd14bfa

File tree

1 file changed

+57
-48
lines changed

1 file changed

+57
-48
lines changed
Lines changed: 57 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,63 @@
1-
import unittest
2-
1+
import pytest
32
from mockito import mock, unstub
43
from selenium.webdriver.common.keys import Keys
54

65
from SeleniumLibrary.keywords import ElementKeywords
76

87

9-
class ParsingModifierKeys(unittest.TestCase):
10-
11-
@classmethod
12-
def setUpClass(cls):
13-
cls.ctx = mock()
14-
cls.element = ElementKeywords(cls.ctx)
15-
16-
@classmethod
17-
def tearDownClass(cls):
18-
unstub()
19-
20-
def test_parsing_one_mofier(self):
21-
parsed = self.element.parse_modifier('CTRL')
22-
self.assertEqual(parsed, [Keys.CONTROL])
23-
parsed = self.element.parse_modifier('esc')
24-
self.assertEqual(parsed, [Keys.ESCAPE])
25-
parsed = self.element.parse_modifier('ESCAPE')
26-
self.assertEqual(parsed, [Keys.ESCAPE])
27-
parsed = self.element.parse_modifier('control')
28-
self.assertEqual(parsed, [Keys.CONTROL])
29-
parsed = self.element.parse_modifier('alt')
30-
self.assertEqual(parsed, [Keys.ALT])
31-
parsed = self.element.parse_modifier('sHifT')
32-
self.assertEqual(parsed, [Keys.SHIFT])
33-
34-
def test_parsing_multiple_modifiers(self):
35-
parsed = self.element.parse_modifier('ctrl+shift')
36-
self.assertEqual(parsed, [Keys.CONTROL, Keys.SHIFT])
37-
parsed = self.element.parse_modifier('ctrl+alt+shift')
38-
self.assertEqual(parsed, [Keys.CONTROL, Keys.ALT, Keys.SHIFT])
39-
parsed = self.element.parse_modifier(' ctrl + alt +shift ')
40-
self.assertEqual(parsed, [Keys.CONTROL, Keys.ALT, Keys.SHIFT])
41-
42-
def test_invalid_modifier(self):
43-
with self.assertRaisesRegexp(ValueError, "'FOO' modifier "):
44-
self.element.parse_modifier('FOO')
45-
with self.assertRaisesRegexp(ValueError, "'FOO' modifier "):
46-
self.element.parse_modifier('FOO+CTRL')
47-
with self.assertRaisesRegexp(ValueError, "'FOO' modifier "):
48-
self.element.parse_modifier('CTRL+FOO')
49-
with self.assertRaisesRegexp(ValueError, "'CTRLFOO' modifier "):
50-
self.element.parse_modifier('CTRLFOO')
51-
52-
def test_invalid_key_separator(self):
53-
with self.assertRaisesRegexp(ValueError, "'CTRL-CTRL' modifier "):
54-
self.element.parse_modifier('CTRL-CTRL')
8+
@pytest.fixture(scope='module')
9+
def element():
10+
ctx = mock()
11+
return ElementKeywords(ctx)
12+
13+
14+
def teardown_module():
15+
unstub()
16+
17+
18+
def test_parsing_one_modifier(element):
19+
parsed = element.parse_modifier('CTRL')
20+
assert parsed == [Keys.CONTROL]
21+
parsed = element.parse_modifier('esc')
22+
assert parsed == [Keys.ESCAPE]
23+
parsed = element.parse_modifier('ESCAPE')
24+
assert parsed == [Keys.ESCAPE]
25+
parsed = element.parse_modifier('control')
26+
assert parsed == [Keys.CONTROL]
27+
parsed = element.parse_modifier('alt')
28+
assert parsed == [Keys.ALT]
29+
parsed = element.parse_modifier('sHifT')
30+
assert parsed == [Keys.SHIFT]
31+
32+
33+
def test_parsing_multiple_modifiers(element):
34+
parsed = element.parse_modifier('ctrl+shift')
35+
assert parsed == [Keys.CONTROL, Keys.SHIFT]
36+
parsed = element.parse_modifier('ctrl+alt+shift')
37+
assert parsed == [Keys.CONTROL, Keys.ALT, Keys.SHIFT]
38+
parsed = element.parse_modifier(' ctrl + alt +shift ')
39+
assert parsed == [Keys.CONTROL, Keys.ALT, Keys.SHIFT]
40+
41+
42+
def test_invalid_modifier(element):
43+
with pytest.raises(ValueError) as error:
44+
element.parse_modifier('FOO')
45+
assert "'FOO' modifier " in str(error.value)
46+
47+
with pytest.raises(ValueError) as error:
48+
element.parse_modifier('FOO+CTRL')
49+
assert "'FOO' modifier " in str(error.value)
50+
51+
with pytest.raises(ValueError) as error:
52+
element.parse_modifier('CTRL+FOO')
53+
assert "'FOO' modifier " in str(error.value)
54+
55+
with pytest.raises(ValueError) as error:
56+
element.parse_modifier('CTRLFOO')
57+
assert "'CTRLFOO' modifier " in str(error.value)
58+
59+
60+
def test_invalid_key_separator(element):
61+
with pytest.raises(ValueError) as error:
62+
element.parse_modifier('CTRL-CTRL')
63+
assert "'CTRL-CTRL' modifier " in str(error.value)

0 commit comments

Comments
 (0)