| # test_dep_getcpv.py -- Portage Unit Testing Functionality |
| # Copyright 2006 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| from portage.tests import TestCase |
| from portage.dep import dep_getcpv |
| |
| class DepGetCPV(TestCase): |
| """ A simple testcase for isvalidatom |
| """ |
| |
| def testDepGetCPV(self): |
| |
| prefix_ops = [ |
| "<", ">", "=", "~", "<=", |
| ">=", "!=", "!<", "!>", "!~" |
| ] |
| |
| bad_prefix_ops = [">~", "<~", "~>", "~<"] |
| postfix_ops = [("=", "*"),] |
| |
| cpvs = ["sys-apps/portage-2.1", "sys-apps/portage-2.1", |
| "sys-apps/portage-2.1"] |
| slots = [None, ":foo", ":2"] |
| for cpv in cpvs: |
| for slot in slots: |
| for prefix in prefix_ops: |
| mycpv = prefix + cpv |
| if slot: |
| mycpv += slot |
| self.assertEqual(dep_getcpv(mycpv), cpv) |
| |
| for prefix, postfix in postfix_ops: |
| mycpv = prefix + cpv + postfix |
| if slot: |
| mycpv += slot |
| self.assertEqual(dep_getcpv(mycpv), cpv) |