Fix getting now playing for user with no scrobbles. Closes #81.

This commit is contained in:
hugovk 2014-03-01 16:57:29 +02:00
parent f59d2cc680
commit 16079468ab
2 changed files with 18 additions and 3 deletions

View file

@ -3002,7 +3002,12 @@ class User(_BaseObject):
doc = self._request('user.getRecentTracks', False, params) doc = self._request('user.getRecentTracks', False, params)
e = doc.getElementsByTagName('track')[0] tracks = doc.getElementsByTagName('track')
if len(tracks) == 0:
return None
e = tracks[0]
if not e.hasAttribute('nowplaying'): if not e.hasAttribute('nowplaying'):
return None return None

View file

@ -220,11 +220,21 @@ class TestPyLast(unittest.TestCase):
self.assertTrue(value) self.assertTrue(value)
def test_now_playing_user_with_no_scrobbles(self):
# Arrange
user = self.network.get_user('test-account') # currently has no scrobbles
# Act
current_track = user.get_now_playing()
# Assert
self.assertIsNone(current_track)
if __name__ == '__main__': if __name__ == '__main__':
# suite = unittest.TestSuite() # suite = unittest.TestSuite()
# suite.addTest(TestPyLast('test_user_equals_none')) # suite.addTest(TestPyLast('test_now_playing_user_with_no_scrobbles'))
# suite.addTest(TestPyLast('test_user_not_equal_to_none'))
# unittest.TextTestRunner().run(suite) # unittest.TextTestRunner().run(suite)
unittest.main() unittest.main()