Author: rjollos Date: Thu Aug 8 09:13:49 2013 New Revision: 1511640 URL: http://svn.apache.org/r1511640 Log: `multiproduct.env.ProductEnvironment`: Refactoring - Access path value in SplitResult object by attribute (available since Python 2.5) rather than index, to improve code clarity.
Added tests for `href` attribute. Refs #595. Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/env.py bloodhound/trunk/bloodhound_multiproduct/tests/env.py Modified: bloodhound/trunk/bloodhound_multiproduct/multiproduct/env.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/multiproduct/env.py?rev=1511640&r1=1511639&r2=1511640&view=diff ============================================================================== --- bloodhound/trunk/bloodhound_multiproduct/multiproduct/env.py (original) +++ bloodhound/trunk/bloodhound_multiproduct/multiproduct/env.py Thu Aug 8 09:13:49 2013 @@ -857,7 +857,7 @@ class ProductEnvironment(Component, Comp @lazy def href(self): """The application root path""" - return Href(urlsplit(self.abs_href.base)[2]) + return Href(urlsplit(self.abs_href.base).path) @lazy def abs_href(self): Modified: bloodhound/trunk/bloodhound_multiproduct/tests/env.py URL: http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_multiproduct/tests/env.py?rev=1511640&r1=1511639&r2=1511640&view=diff ============================================================================== --- bloodhound/trunk/bloodhound_multiproduct/tests/env.py (original) +++ bloodhound/trunk/bloodhound_multiproduct/tests/env.py Thu Aug 8 09:13:49 2013 @@ -594,12 +594,15 @@ class ProductEnvHrefTestCase(Multiproduc def test_href_subdomain(self): """Test product sub domain base URL """ + self.assertEqual('/', self.product_env.href()) self.assertEqual('http://tp1.domain.tld', self.product_env.abs_href()) @product_base_url('/path/to/bloodhound/$(prefix)s') def test_href_sibling_paths(self): """Test product base URL at sibling paths """ + self.assertEqual('/trac.cgi/path/to/bloodhound/tp1', + self.product_env.href()) self.assertEqual('http://globalenv.com/trac.cgi/path/to/bloodhound/tp1', self.product_env.abs_href()) @@ -607,6 +610,7 @@ class ProductEnvHrefTestCase(Multiproduc def test_href_inherit_sibling_paths(self): """Test product base URL at sibling paths inheriting configuration. """ + self.assertEqual('/trac.cgi/env/tp1', self.product_env.href()) self.assertEqual('http://globalenv.com/trac.cgi/env/tp1', self.product_env.abs_href()) @@ -614,6 +618,7 @@ class ProductEnvHrefTestCase(Multiproduc def test_href_default(self): """Test product base URL is to a default """ + self.assertEqual('/trac.cgi/products/tp1', self.product_env.href()) self.assertEqual('http://globalenv.com/trac.cgi/products/tp1', self.product_env.abs_href()) @@ -621,6 +626,7 @@ class ProductEnvHrefTestCase(Multiproduc def test_href_embed(self): """Test default product base URL /products/prefix """ + self.assertEqual('/trac.cgi/products/tp1', self.product_env.href()) self.assertEqual('http://globalenv.com/trac.cgi/products/tp1', self.product_env.abs_href()) @@ -628,6 +634,7 @@ class ProductEnvHrefTestCase(Multiproduc def test_href_complex(self): """Test complex product base URL """ + self.assertEqual('/bh/tp1', self.product_env.href()) self.assertEqual('http://env.tld/bh/tp1', self.product_env.abs_href()) @product_base_url('http://$(prefix)s.$(envname)s.tld/') @@ -638,10 +645,12 @@ class ProductEnvHrefTestCase(Multiproduc """ # Global URLs self.assertEqual('http://globalenv.com/trac.cgi', self.env.base_url) + self.assertEqual('/trac.cgi', self.env.href()) self.assertEqual('http://globalenv.com/trac.cgi', self.env.abs_href()) # Product URLs self.assertEqual('', self.product_env.base_url) + self.assertEqual('/', self.product_env.href()) self.assertEqual('http://tp1.env.tld', self.product_env.abs_href()) @product_base_url('http://$(prefix)s.$(envname)s.tld/') @@ -655,6 +664,7 @@ class ProductEnvHrefTestCase(Multiproduc self.product_env.config.save() self.assertEqual('http://productenv.com', self.product_env.base_url) + self.assertEqual('/', self.product_env.href()) self.assertEqual('http://productenv.com', self.product_env.abs_href()) @product_base_url('http://$(prefix)s.$(envname)s.tld/') @@ -668,6 +678,7 @@ class ProductEnvHrefTestCase(Multiproduc self.product_env.config.save() self.assertEqual('', self.product_env.base_url) + self.assertEqual('/', self.product_env.href()) self.assertEqual('http://tp1.env.tld', self.product_env.abs_href()) product_base_url = staticmethod(product_base_url)