lib: Don't allow adding a track to a tag multiple times
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
54498f174a
commit
fc82beca3d
|
@ -67,6 +67,8 @@ class Tag:
|
|||
|
||||
def add_track(self, track):
|
||||
with self.lock:
|
||||
if track in self.tracks:
|
||||
return
|
||||
pos = len(self.tracks)
|
||||
self.tracks.append(track)
|
||||
self.runtime += track.length
|
||||
|
|
|
@ -108,6 +108,11 @@ class TestTag(unittest.TestCase):
|
|||
self.assertEqual(self.changed, (t, fake.Track(2), 1))
|
||||
self.assertEqual(t.runtime, 3)
|
||||
|
||||
t.add_track(fake.Track(1))
|
||||
self.assertEqual(t.tracks, [ fake.Track(1), fake.Track(2) ])
|
||||
self.assertEqual(self.changed, (t, fake.Track(2), 1))
|
||||
self.assertEqual(t.runtime, 3)
|
||||
|
||||
def test_tag_remove_track(self):
|
||||
t = tag.Tag("test")
|
||||
t.add_track(fake.Track(1))
|
||||
|
|
Loading…
Reference in New Issue
Block a user