mirror of
https://github.com/fergalmoran/picard.git
synced 2025-12-22 17:28:58 +00:00
PICARD-2218: Allow regular expressions in $performer(pattern)
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
# Picard, the next-generation MusicBrainz tagger
|
||||
#
|
||||
# Copyright (C) 2007 Lukáš Lalinský
|
||||
# Copyright (C) 2010, 2014, 2018-2020 Philipp Wolfer
|
||||
# Copyright (C) 2010, 2014, 2018-2021 Philipp Wolfer
|
||||
# Copyright (C) 2012 Chad Wilson
|
||||
# Copyright (C) 2013 Michael Wiencek
|
||||
# Copyright (C) 2013, 2017-2020 Laurent Monin
|
||||
@@ -942,6 +942,19 @@ class ScriptParserTest(PicardTestCase):
|
||||
self.assertEqual({'Foo1', 'Foo2', 'Foo3', 'Drummer'}, set(result.split(', ')))
|
||||
self.assertScriptResultEquals("$performer(perf)", "", context)
|
||||
|
||||
def test_cmd_performer_regex(self):
|
||||
context = Metadata()
|
||||
context['performer:guitar'] = 'Foo1'
|
||||
context['performer:guitars'] = 'Foo2'
|
||||
context['performer:rhythm-guitar'] = 'Foo3'
|
||||
context['performer:drums (drum kit)'] = 'Drummer'
|
||||
result = self.parser.eval(r"$performer(^guitar)", context=context)
|
||||
self.assertEqual({'Foo1', 'Foo2'}, set(result.split(', ')))
|
||||
result = self.parser.eval(r"$performer(^guitar\$)", context=context)
|
||||
self.assertEqual({'Foo1'}, set(result.split(', ')))
|
||||
result = self.parser.eval(r"$performer(drums \()", context=context)
|
||||
self.assertEqual({'Drummer'}, set(result.split(', ')))
|
||||
|
||||
def test_cmd_performer_custom_join(self):
|
||||
context = Metadata()
|
||||
context['performer:guitar'] = 'Foo1'
|
||||
|
||||
Reference in New Issue
Block a user