blob: 84c9f29b6d3f752ebde70fca5017fdf3fd016220 [file] [log] [blame]
# Copyright 2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
from portage.tests import TestCase
from portage.dep import paren_reduce
from portage.dbapi.porttree import _src_uri_validate
from portage.exception import InvalidDependString
class SrcUri(TestCase):
def testSrcUri(self):
tests = [
( "0", "http://foo/bar -> blah.tbz2" , False ),
( "1", "http://foo/bar -> blah.tbz2" , False ),
( "2", "http://foo/bar -> blah.tbz2" , True ),
( "2", "foo? ( http://foo/bar -> blah.tbz2 )" , True ),
( "2", "http://foo/bar -> foo? ( ftp://foo/a )" , False ),
( "2", "http://foo/bar -> bar.tbz2 foo? ( ftp://foo/a )" , True ),
( "2", "http://foo/bar blah.tbz2 ->" , False ),
( "2", "-> http://foo/bar blah.tbz2 )" , False ),
( "2", "http://foo/bar ->" , False ),
( "2", "foo? ( http://foo/bar -> ) blah.tbz2" , False ),
( "2", "http://foo/bar -> foo/blah.tbz2" , False ),
]
for eapi, src_uri, valid in tests:
try:
_src_uri_validate("cat/pkg-1", eapi, paren_reduce(src_uri))
except InvalidDependString:
self.assertEqual(valid, False)
else:
self.assertEqual(valid, True)