| # test_get_operator.py -- Portage Unit Testing Functionality |
| # Copyright 2007 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| from portage.tests import TestCase |
| from portage.dep import get_operator |
| |
| class GetOperator(TestCase): |
| |
| def testGetOperator(self): |
| |
| # get_operator does not validate operators |
| tests = [ ( "~", "~" ), ( "=", "=" ), ( ">", ">" ), |
| ( ">=", ">=" ), ( "<=", "<=" ), |
| ] |
| |
| test_cpvs = ["sys-apps/portage-2.1"] |
| slots = [ None,"1","linux-2.5.6" ] |
| for cpv in test_cpvs: |
| for test in tests: |
| for slot in slots: |
| atom = cpv[:] |
| if slot: |
| atom += ":" + slot |
| result = get_operator( test[0] + atom ) |
| self.assertEqual( result, test[1], |
| msg="get_operator(%s) != %s" % (test[0] + atom, test[1]) ) |
| |
| result = get_operator( "sys-apps/portage" ) |
| self.assertEqual( result, None ) |
| |
| result = get_operator( "=sys-apps/portage-2.1*" ) |
| self.assertEqual( result , "=*" ) |