mirror of
https://github.com/beetbox/beets.git
synced 2026-01-01 13:33:02 +01:00
replaygain test: extend tests for skipping items
Test more combinations of tags that might initially be present and expected tags. The R128 codepath and the case of having the wrong type of tags wasn't really tested before.
This commit is contained in:
parent
1442594e5b
commit
e8960501f2
1 changed files with 72 additions and 6 deletions
|
|
@ -137,15 +137,81 @@ class ReplayGainCliTestBase(TestHelper):
|
|||
mediafile.rg_track_gain, item.rg_track_gain, places=2)
|
||||
|
||||
def test_cli_skips_calculated_tracks(self):
|
||||
self._add_album(2)
|
||||
album_rg = self._add_album(1)
|
||||
item_rg = album_rg.items()[0]
|
||||
|
||||
if self.has_r128_support:
|
||||
album_r128 = self._add_album(1, ext="opus")
|
||||
item_r128 = album_r128.items()[0]
|
||||
|
||||
self.run_command('replaygain')
|
||||
item = self.lib.items()[0]
|
||||
peak = item.rg_track_peak
|
||||
item.rg_track_gain = 0.0
|
||||
|
||||
item_rg.load()
|
||||
self.assertIsNotNone(item_rg.rg_track_gain)
|
||||
self.assertIsNotNone(item_rg.rg_track_peak)
|
||||
self.assertIsNone(item_rg.r128_track_gain)
|
||||
|
||||
item_rg.rg_track_gain += 1.0
|
||||
item_rg.rg_track_peak += 1.0
|
||||
item_rg.store()
|
||||
rg_track_gain = item_rg.rg_track_gain
|
||||
rg_track_peak = item_rg.rg_track_peak
|
||||
|
||||
if self.has_r128_support:
|
||||
item_r128.load()
|
||||
self.assertIsNotNone(item_r128.r128_track_gain)
|
||||
self.assertIsNone(item_r128.rg_track_gain)
|
||||
self.assertIsNone(item_r128.rg_track_peak)
|
||||
|
||||
item_r128.r128_track_gain += 1.0
|
||||
item_r128.store()
|
||||
r128_track_gain = item_r128.r128_track_gain
|
||||
|
||||
self.run_command('replaygain')
|
||||
self.assertEqual(item.rg_track_gain, 0.0)
|
||||
self.assertEqual(item.rg_track_peak, peak)
|
||||
|
||||
item_rg.load()
|
||||
self.assertEqual(item_rg.rg_track_gain, rg_track_gain)
|
||||
self.assertEqual(item_rg.rg_track_peak, rg_track_peak)
|
||||
|
||||
if self.has_r128_support:
|
||||
item_r128.load()
|
||||
self.assertEqual(item_r128.r128_track_gain, r128_track_gain)
|
||||
|
||||
def test_cli_does_not_skip_wrong_tag_type(self):
|
||||
"""Check that items that have tags of the wrong type won't be skipped.
|
||||
"""
|
||||
if not self.has_r128_support:
|
||||
# This test is a lot less interesting if the backend cannot write
|
||||
# both tag types.
|
||||
self.skipTest("r128 tags for opus not supported on backend {}"
|
||||
.format(self.backend))
|
||||
|
||||
album_rg = self._add_album(1)
|
||||
item_rg = album_rg.items()[0]
|
||||
|
||||
album_r128 = self._add_album(1, ext="opus")
|
||||
item_r128 = album_r128.items()[0]
|
||||
|
||||
item_rg.r128_track_gain = 0.0
|
||||
item_rg.store()
|
||||
|
||||
item_r128.rg_track_gain = 0.0
|
||||
item_r128.rg_track_peak = 42.0
|
||||
item_r128.store()
|
||||
|
||||
self.run_command('replaygain')
|
||||
item_rg.load()
|
||||
item_r128.load()
|
||||
|
||||
self.assertIsNotNone(item_rg.rg_track_gain)
|
||||
self.assertIsNotNone(item_rg.rg_track_peak)
|
||||
# FIXME: Should the plugin null this field?
|
||||
# self.assertIsNone(item_rg.r128_track_gain)
|
||||
|
||||
self.assertIsNotNone(item_r128.r128_track_gain)
|
||||
# FIXME: Should the plugin null these fields?
|
||||
# self.assertIsNone(item_r128.rg_track_gain)
|
||||
# self.assertIsNone(item_r128.rg_track_peak)
|
||||
|
||||
def test_cli_saves_album_gain_to_file(self):
|
||||
self._add_album(2)
|
||||
|
|
|
|||
Loading…
Reference in a new issue