From: Zac Medico Date: Fri, 4 Feb 2011 01:38:32 +0000 (-0800) Subject: REQUIRED_USE: fix parens display and test X-Git-Tag: v2.2.0_alpha20~16 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=644eb3fe5455c12bd1f831812bb17ae582acb3bc;p=portage.git REQUIRED_USE: fix parens display and test --- diff --git a/pym/portage/dep/__init__.py b/pym/portage/dep/__init__.py index 7e9a18ad3..0300b7489 100644 --- a/pym/portage/dep/__init__.py +++ b/pym/portage/dep/__init__.py @@ -2088,11 +2088,14 @@ class _RequiredUseBranch(object): def tounicode(self): + include_parens = self._parent is not None and \ + (self._operator is not None or \ + self._parent._operator is None) tokens = [] if self._operator is not None: tokens.append(self._operator) - if self._parent is not None: + if include_parens: tokens.append("(") complex_nesting = False @@ -2111,7 +2114,7 @@ class _RequiredUseBranch(object): if not child._satisfied: tokens.append(child.tounicode()) - if self._parent is not None: + if include_parens: tokens.append(")") return " ".join(tokens) diff --git a/pym/portage/tests/dep/testCheckRequiredUse.py b/pym/portage/tests/dep/testCheckRequiredUse.py index 0f7a299e9..0fb97023a 100644 --- a/pym/portage/tests/dep/testCheckRequiredUse.py +++ b/pym/portage/tests/dep/testCheckRequiredUse.py @@ -134,7 +134,37 @@ class TestCheckRequiredUse(TestCase): ( "^^ ( || ( ( a b ) ) ( c ) )", ("a", "b", "c"), - "^^ ( || ( ( a b ) ) ( c ) )" + "^^ ( || ( a b ) c )" + ), + ( + "a? ( ( c e ) ( b d ) )", + ("a", "c", "e"), + "a? ( b d )" + ), + ( + "a? ( ( c e ) ( b d ) )", + ("a", "b", "c", "e"), + "a? ( d )" + ), + ( + "^^ ( || ( a b ) ^^ ( b c ) )", + ("a", "b"), + "^^ ( || ( a b ) ^^ ( b c ) )" + ), + ( + "^^ ( || ( a b ) ^^ ( b c ) )", + ["a", "c"], + "^^ ( || ( a b ) ^^ ( b c ) )" + ), + ( + "^^ ( || ( a b ) ^^ ( b c ) )", + ["b", "c"], + "" + ), + ( + "^^ ( || ( a b ) ^^ ( b c ) )", + ["a", "b", "c"], + "" ) ) for required_use, use, expected in test_cases: