old_contents: """Tests for cherrypy/lib/httputil.py."""
  
  import unittest
  from cherrypy.lib import httputil
  
  
  class UtilityTests(unittest.TestCase):
  
      def test_urljoin(self):
          # Test all slash+atom combinations for SCRIPT_NAME and PATH_INFO
          self.assertEqual(httputil.urljoin('/sn/', '/pi/'), '/sn/pi/')
          self.assertEqual(httputil.urljoin('/sn/', '/pi'), '/sn/pi')
          self.assertEqual(httputil.urljoin('/sn/', '/'), '/sn/')
          self.assertEqual(httputil.urljoin('/sn/', ''), '/sn/')
          self.assertEqual(httputil.urljoin('/sn', '/pi/'), '/sn/pi/')
          self.assertEqual(httputil.urljoin('/sn', '/pi'), '/sn/pi')
          self.assertEqual(httputil.urljoin('/sn', '/'), '/sn/')
          self.assertEqual(httputil.urljoin('/sn', ''), '/sn')
          self.assertEqual(httputil.urljoin('/', '/pi/'), '/pi/')
          self.assertEqual(httputil.urljoin('/', '/pi'), '/pi')
          self.assertEqual(httputil.urljoin('/', '/'), '/')
          self.assertEqual(httputil.urljoin('/', ''), '/')
          self.assertEqual(httputil.urljoin('', '/pi/'), '/pi/')
          self.assertEqual(httputil.urljoin('', '/pi'), '/pi')
          self.assertEqual(httputil.urljoin('', '/'), '/')
          self.assertEqual(httputil.urljoin('', ''), '/')
  
  
  if __name__ == '__main__':
      unittest.main()
  
new_contents: """Tests for ``cherrypy.lib.httputil``."""
  import pytest
  
  from cherrypy.lib import httputil
  
  
  class TestUtility(object):
      @pytest.mark.parametrize(
          'script_name,path_info,expected_url',
          [
              ('/sn/', '/pi/', '/sn/pi/'),
              ('/sn/', '/pi', '/sn/pi'),
              ('/sn/', '/', '/sn/'),
              ('/sn/', '', '/sn/'),
              ('/sn', '/pi/', '/sn/pi/'),
              ('/sn', '/pi', '/sn/pi'),
              ('/sn', '/', '/sn/'),
              ('/sn', '', '/sn'),
              ('/', '/pi/', '/pi/'),
              ('/', '/pi', '/pi'),
              ('/', '/', '/'),
              ('/', '', '/'),
              ('', '/pi/', '/pi/'),
              ('', '/pi', '/pi'),
              ('', '/', '/'),
              ('', '', '/'),
          ]
      )
      def test_urljoin(self, script_name, path_info, expected_url):
          """Test all slash+atom combinations for SCRIPT_NAME and PATH_INFO."""
          actual_url = httputil.urljoin(script_name, path_info)
          assert actual_url == expected_url
  
subject: Rewrite httputil test module via pytest