PICARD-2233: Composer "credited as" must not overwrite composersort

If "credited as" is set on a composer relationship, the credited name gets used both for composer and composersort. This is inconsistent with how target credits get used for artist / artistsort and causes a composersort tag without proper sort name.
This commit is contained in:
Philipp Wolfer
2021-09-12 17:10:42 +02:00
parent 1f82fb46bb
commit 192db0a729
3 changed files with 1179 additions and 1 deletions

View File

@@ -216,6 +216,37 @@ class RecordingTest(MBJSONTest):
self.assertEqual(m['performer:acoustic guitar'], 'Ed Sheeran')
class RecordingComposerCreditsTest(MBJSONTest):
filename = 'recording_composer.json'
def test_standardize_artists(self):
m = Metadata()
t = Track('1')
config.setting['translate_artist_names'] = False
config.setting['standardize_artists'] = True
recording_to_metadata(self.json_doc, m, t)
self.assertEqual(m['composer'], 'Пётр Ильич Чайковский')
self.assertEqual(m['composersort'], 'Tchaikovsky, Pyotr Ilyich')
def test_use_credited_as(self):
m = Metadata()
t = Track('1')
config.setting['translate_artist_names'] = False
config.setting['standardize_artists'] = False
recording_to_metadata(self.json_doc, m, t)
self.assertEqual(m['composer'], 'Tchaikovsky')
self.assertEqual(m['composersort'], 'Tchaikovsky, Pyotr Ilyich')
def test_translate(self):
m = Metadata()
t = Track('1')
config.setting['translate_artist_names'] = True
recording_to_metadata(self.json_doc, m, t)
self.assertEqual(m['composer'], 'Pyotr Ilyich Tchaikovsky')
self.assertEqual(m['composersort'], 'Tchaikovsky, Pyotr Ilyich')
class RecordingInstrumentalTest(MBJSONTest):
filename = 'recording_instrumental.json'