[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