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)


Reply via email to