mirror of
https://github.com/fergalmoran/picard.git
synced 2026-03-22 21:25:14 +00:00
PICARD-1586: Test proper deletion of case insensitive tags
This commit is contained in:
@@ -8,7 +8,14 @@ from picard.formats import (
|
||||
ext_to_format,
|
||||
)
|
||||
|
||||
from .common import CommonTests
|
||||
from .common import (
|
||||
CommonTests,
|
||||
load_metadata,
|
||||
load_raw,
|
||||
save_metadata,
|
||||
save_raw,
|
||||
skipUnlessTestfile,
|
||||
)
|
||||
from .coverart import CommonCoverArtTests
|
||||
|
||||
|
||||
@@ -29,6 +36,19 @@ class CommonAsfTests:
|
||||
for tag in self.replaygain_tags.keys():
|
||||
self.assertTrue(fmt.supports_tag(tag))
|
||||
|
||||
@skipUnlessTestfile
|
||||
def test_replaygain_tags_not_duplicated(self):
|
||||
# Ensure values are not duplicated on repeated save
|
||||
tags = {
|
||||
'Replaygain_Album_Peak': '-6.48 dB'
|
||||
}
|
||||
save_raw(self.filename, tags)
|
||||
loaded_metadata = load_metadata(self.filename)
|
||||
save_metadata(self.filename, loaded_metadata)
|
||||
raw_metadata = load_raw(self.filename)
|
||||
self.assertFalse('Replaygain_Album_Peak' in raw_metadata)
|
||||
self.assertTrue('REPLAYGAIN_ALBUM_PEAK' in raw_metadata)
|
||||
|
||||
|
||||
class ASFTest(CommonAsfTests.AsfTestCase):
|
||||
testfile = 'test.asf'
|
||||
|
||||
@@ -211,6 +211,18 @@ class CommonId3Tests:
|
||||
for (key, value) in self.replaygain_tags.items():
|
||||
self.assertEqual(loaded_metadata[key], value, '%s: %r != %r' % (key, loaded_metadata[key], value))
|
||||
|
||||
@skipUnlessTestfile
|
||||
def test_replaygain_tags_not_duplicated(self):
|
||||
# Ensure values are not duplicated on repeated save
|
||||
tags = mutagen.id3.ID3Tags()
|
||||
tags.add(mutagen.id3.TXXX(desc='Replaygain_Album_Peak', text='0.978475'))
|
||||
save_raw(self.filename, tags)
|
||||
loaded_metadata = load_metadata(self.filename)
|
||||
save_metadata(self.filename, loaded_metadata)
|
||||
raw_metadata = load_raw(self.filename)
|
||||
self.assertFalse('TXXX:Replaygain_Album_Peak' in raw_metadata)
|
||||
self.assertTrue('TXXX:REPLAYGAIN_ALBUM_PEAK' in raw_metadata)
|
||||
|
||||
|
||||
class MP3Test(CommonId3Tests.Id3TestCase):
|
||||
testfile = 'test.mp3'
|
||||
|
||||
@@ -5,6 +5,8 @@ from picard.formats import ext_to_format
|
||||
from .common import (
|
||||
CommonTests,
|
||||
load_metadata,
|
||||
load_raw,
|
||||
save_metadata,
|
||||
save_raw,
|
||||
skipUnlessTestfile,
|
||||
)
|
||||
@@ -53,6 +55,18 @@ class MP4Test(CommonTests.TagFormatsTestCase):
|
||||
for (key, value) in self.replaygain_tags.items():
|
||||
self.assertEqual(loaded_metadata[key], value, '%s: %r != %r' % (key, loaded_metadata[key], value))
|
||||
|
||||
@skipUnlessTestfile
|
||||
def test_replaygain_tags_not_duplicated(self):
|
||||
# Ensure values are not duplicated on repeated save
|
||||
tags = mutagen.mp4.MP4Tags()
|
||||
tags['----:com.apple.iTunes:Replaygain_Album_Peak'] = [b'-6.48 dB']
|
||||
save_raw(self.filename, tags)
|
||||
loaded_metadata = load_metadata(self.filename)
|
||||
save_metadata(self.filename, loaded_metadata)
|
||||
raw_metadata = load_raw(self.filename)
|
||||
self.assertFalse('----:com.apple.iTunes:Replaygain_Album_Peak' in raw_metadata)
|
||||
self.assertTrue('----:com.apple.iTunes:REPLAYGAIN_ALBUM_PEAK' in raw_metadata)
|
||||
|
||||
|
||||
class Mp4CoverArtTest(CommonCoverArtTests.CoverArtTestCase):
|
||||
testfile = 'test.m4a'
|
||||
|
||||
Reference in New Issue
Block a user