Signed-off-by: Vratislav Podzimek vpodzime@redhat.com --- pyanaconda/keyboard.py | 2 +- tests/pyanaconda_tests/keyboard_test.py | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/pyanaconda/keyboard.py b/pyanaconda/keyboard.py index 03d988a..e86771a 100644 --- a/pyanaconda/keyboard.py +++ b/pyanaconda/keyboard.py @@ -61,7 +61,7 @@ LOCALED_IFACE = "org.freedesktop.locale1" # should match and parse strings like 'cz' or 'cz (qwerty)' regardless of white # space LAYOUT_VARIANT_RE = re.compile(r'^\s*(\w+)\s*' # layout plus - r'(?:(?:(\s*(\w+)\s*))' # variant in parentheses + r'(?:(?:(\s*([-\w]+)\s*))' # variant in parentheses r'|(?:$))\s*') # or nothing
# namedtuple for information about a keyboard layout (its language and description) diff --git a/tests/pyanaconda_tests/keyboard_test.py b/tests/pyanaconda_tests/keyboard_test.py index ca8aa38..1b8974d 100644 --- a/tests/pyanaconda_tests/keyboard_test.py +++ b/tests/pyanaconda_tests/keyboard_test.py @@ -25,11 +25,15 @@ class ParsingAndJoiningTests(unittest.TestCase): def layout_variant_parsing_test(self): """Should correctly parse keyboard layout and variant string specs."""
- # a valid layout variant spec + # valid layout variant specs layout, variant = keyboard._parse_layout_variant("cz (qwerty)") self.assertEqual(layout, "cz") self.assertEqual(variant, "qwerty")
+ layout, variant = keyboard._parse_layout_variant("cz (dvorak-ucw)") + self.assertEqual(layout, "cz") + self.assertEqual(variant, "dvorak-ucw") + # a valid layout variant spec with no variant specified layout, variant = keyboard._parse_layout_variant("cz") self.assertEqual(layout, "cz")
On 09/20/2013 09:12 AM, Vratislav Podzimek wrote:
Signed-off-by: Vratislav Podzimek vpodzime@redhat.com
pyanaconda/keyboard.py | 2 +- tests/pyanaconda_tests/keyboard_test.py | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/pyanaconda/keyboard.py b/pyanaconda/keyboard.py index 03d988a..e86771a 100644 --- a/pyanaconda/keyboard.py +++ b/pyanaconda/keyboard.py @@ -61,7 +61,7 @@ LOCALED_IFACE = "org.freedesktop.locale1" # should match and parse strings like 'cz' or 'cz (qwerty)' regardless of white # space LAYOUT_VARIANT_RE = re.compile(r'^\s*(\w+)\s*' # layout plus
r'(?:(?:\(\s*(\w+)\s*\))' # variant in parentheses
r'(?:(?:\(\s*([-\w]+)\s*\))' # variant in parentheses r'|(?:$))\s*') # or nothing# namedtuple for information about a keyboard layout (its language and description)
diff --git a/tests/pyanaconda_tests/keyboard_test.py b/tests/pyanaconda_tests/keyboard_test.py index ca8aa38..1b8974d 100644 --- a/tests/pyanaconda_tests/keyboard_test.py +++ b/tests/pyanaconda_tests/keyboard_test.py @@ -25,11 +25,15 @@ class ParsingAndJoiningTests(unittest.TestCase): def layout_variant_parsing_test(self): """Should correctly parse keyboard layout and variant string specs."""
# a valid layout variant spec
# valid layout variant specs layout, variant = keyboard._parse_layout_variant("cz (qwerty)") self.assertEqual(layout, "cz") self.assertEqual(variant, "qwerty")layout, variant = keyboard._parse_layout_variant("cz (dvorak-ucw)")self.assertEqual(layout, "cz")self.assertEqual(variant, "dvorak-ucw")# a valid layout variant spec with no variant specified layout, variant = keyboard._parse_layout_variant("cz") self.assertEqual(layout, "cz")
Ack, with a question on the test. Is it possible to test parsing every layout? Would that require an X display?
On Fri, 2013-09-20 at 09:21 -0400, David Shea wrote:
On 09/20/2013 09:12 AM, Vratislav Podzimek wrote:
Signed-off-by: Vratislav Podzimek vpodzime@redhat.com
pyanaconda/keyboard.py | 2 +- tests/pyanaconda_tests/keyboard_test.py | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/pyanaconda/keyboard.py b/pyanaconda/keyboard.py index 03d988a..e86771a 100644 --- a/pyanaconda/keyboard.py +++ b/pyanaconda/keyboard.py @@ -61,7 +61,7 @@ LOCALED_IFACE = "org.freedesktop.locale1" # should match and parse strings like 'cz' or 'cz (qwerty)' regardless of white # space LAYOUT_VARIANT_RE = re.compile(r'^\s*(\w+)\s*' # layout plus
r'(?:(?:\(\s*(\w+)\s*\))' # variant in parentheses
r'(?:(?:\(\s*([-\w]+)\s*\))' # variant in parentheses r'|(?:$))\s*') # or nothing# namedtuple for information about a keyboard layout (its language and description)
diff --git a/tests/pyanaconda_tests/keyboard_test.py b/tests/pyanaconda_tests/keyboard_test.py index ca8aa38..1b8974d 100644 --- a/tests/pyanaconda_tests/keyboard_test.py +++ b/tests/pyanaconda_tests/keyboard_test.py @@ -25,11 +25,15 @@ class ParsingAndJoiningTests(unittest.TestCase): def layout_variant_parsing_test(self): """Should correctly parse keyboard layout and variant string specs."""
# a valid layout variant spec
# valid layout variant specs layout, variant = keyboard._parse_layout_variant("cz (qwerty)") self.assertEqual(layout, "cz") self.assertEqual(variant, "qwerty")layout, variant = keyboard._parse_layout_variant("cz (dvorak-ucw)")self.assertEqual(layout, "cz")self.assertEqual(variant, "dvorak-ucw")# a valid layout variant spec with no variant specified layout, variant = keyboard._parse_layout_variant("cz") self.assertEqual(layout, "cz")Ack, with a question on the test. Is it possible to test parsing every layout? Would that require an X display?
I was thinking about that, but yes, it would require an X display. Well, unless we want to parse a lot of XML files on our own because that way we could avoid initializing libxklavier's structures requiring the X server running. But still it may result in an incomplete list.
anaconda-patches@lists.fedorahosted.org