[master][PATCH] Keyboard variant names may contain dashes (#1008730)
David Shea
dshea at redhat.com
Fri Sep 20 13:21:34 UTC 2013
On 09/20/2013 09:12 AM, Vratislav Podzimek wrote:
> Signed-off-by: Vratislav Podzimek <vpodzime at 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?
More information about the anaconda-patches
mailing list