Make _compile_move_additional_files_pattern() a static method and simplify tests

- do not pass config but the patterns string
- make it a static method (it doesn't need self anyway)
- simplify tests accordingly
This commit is contained in:
Laurent Monin
2021-11-09 21:43:40 +01:00
parent 2d7e8cde9f
commit 93a8d83365
2 changed files with 16 additions and 33 deletions

View File

@@ -362,62 +362,43 @@ class FileGuessTracknumberAndTitleTest(PicardTestCase):
class FileAdditionalFilesPatternsTest(PicardTestCase):
def test_empty_patterns(self):
self.set_config_values({
'move_additional_files_pattern': ' ',
})
f = File('/somepath/01 somefile.mp3')
self.assertEqual(f._compile_move_additional_files_pattern(config), set())
self.assertEqual(File._compile_move_additional_files_pattern(' '), set())
def test_simple_patterns(self):
self.set_config_values({
'move_additional_files_pattern': 'cover.jpg',
})
f = File('/somepath/01 somefile.mp3')
pattern = 'cover.jpg'
expected = {
(re.compile('(?s:cover\\.jpg)\\Z', re.IGNORECASE), False)
}
self.assertEqual(f._compile_move_additional_files_pattern(config), expected)
self.assertEqual(File._compile_move_additional_files_pattern(pattern), expected)
def test_whitespaces_patterns(self):
self.set_config_values({
'move_additional_files_pattern': " a \n b ",
})
f = File('/somepath/01 somefile.mp3')
pattern = " a \n b "
expected = {
(re.compile('(?s:a)\\Z', re.IGNORECASE), False),
(re.compile('(?s:b)\\Z', re.IGNORECASE), False),
}
self.assertEqual(f._compile_move_additional_files_pattern(config), expected)
self.assertEqual(File._compile_move_additional_files_pattern(pattern), expected)
def test_duplicated_patterns(self):
self.set_config_values({
'move_additional_files_pattern': 'cover.jpg cover.jpg',
})
f = File('/somepath/01 somefile.mp3')
pattern = 'cover.jpg cover.jpg COVER.JPG'
expected = {
(re.compile('(?s:cover\\.jpg)\\Z', re.IGNORECASE), False)
}
self.assertEqual(f._compile_move_additional_files_pattern(config), expected)
self.assertEqual(File._compile_move_additional_files_pattern(pattern), expected)
def test_simple_hidden_patterns(self):
self.set_config_values({
'move_additional_files_pattern': 'cover.jpg .hidden',
})
f = File('/somepath/01 somefile.mp3')
pattern = 'cover.jpg .hidden'
expected = {
(re.compile('(?s:cover\\.jpg)\\Z', re.IGNORECASE), False),
(re.compile('(?s:\\.hidden)\\Z', re.IGNORECASE), True)
}
self.assertEqual(f._compile_move_additional_files_pattern(config), expected)
self.assertEqual(File._compile_move_additional_files_pattern(pattern), expected)
def test_wildcard_patterns(self):
self.set_config_values({
'move_additional_files_pattern': 'c?ver.jpg .h?dden* *.jpg *.JPG',
})
f = File('/somepath/01 somefile.mp3')
pattern = 'c?ver.jpg .h?dden* *.jpg *.JPG'
expected = {
(re.compile('(?s:c.ver\\.jpg)\\Z', re.IGNORECASE), False),
(re.compile('(?s:\\.h.dden.*)\\Z', re.IGNORECASE), True),
(re.compile('(?s:.*\\.jpg)\\Z', re.IGNORECASE), False),
}
self.assertEqual(f._compile_move_additional_files_pattern(config), expected)
self.assertEqual(File._compile_move_additional_files_pattern(pattern), expected)