summaryrefslogtreecommitdiff
blob: 11fd1a72316715068cc7bbe2c872132aaaf72dfb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# test_dep_getcpv.py -- Portage Unit Testing Functionality
# Copyright 2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

from unittest 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", "sys-apps/portage-2.1", "sys-apps/portage-2.1",
				"sys-apps/portage-2.1"]
		slots = [None,":",":2"]
		for cpv in cpvs:
			for slot in slots:
				for prefix in prefix_ops:
					for postfix in postfix_ops:
						if slot:
							self.assertEqual( dep_getcpv( 
								prefix + cpv + slot + postfix ), cpv )
						else:
							self.assertEqual( dep_getcpv( 
								prefix + cpv + postfix ), cpv )
				for prefix in bad_prefix_ops:
					for postfix in postfix_ops:
						if slot:
							self.assertNotEqual( dep_getcpv(
								prefix + cpv + slot + postfix ), cpv )
						else:
							self.assertNotEqual( dep_getcpv(
								prefix + cpv + postfix ), cpv )