+
+ # Test badly formatted MPD_HOST
+ os.environ['MPD_HOST'] = '@'
+ with mock.patch('os.path.exists', return_value=False):
+ client = musicpd.MPDClient()
+ self.assertEqual(client.pwd, None)
+ self.assertEqual(client.host, 'localhost')
+
+ # Test unix socket extraction
+ os.environ['MPD_HOST'] = 'pa55w04d@/unix/sock'
+ client = musicpd.MPDClient()
+ self.assertEqual(client.host, '/unix/sock')
+
+ # Test plain abstract socket extraction
+ os.environ['MPD_HOST'] = '@abstract'
+ client = musicpd.MPDClient()
+ self.assertEqual(client.host, '@abstract')
+
+ # Test password and abstract socket extraction
+ os.environ['MPD_HOST'] = 'pass@@abstract'
+ client = musicpd.MPDClient()
+ self.assertEqual(client.pwd, 'pass')
+ self.assertEqual(client.host, '@abstract')