Skip to content

Commit 21c5722

Browse files
zasphw
authored andcommitted
Add tests for File._compile_move_additional_files_pattern()
1 parent ca85e64 commit 21c5722

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

test/test_file.py

+55
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323

2424
import os
25+
import re
2526
import unittest
2627
from unittest.mock import MagicMock
2728

@@ -356,3 +357,57 @@ def test_guess_title_tracknumber(self):
356357
f._guess_tracknumber_and_title(metadata)
357358
self.assertEqual(metadata['tracknumber'], '1')
358359
self.assertEqual(metadata['title'], 'somefile')
360+
361+
362+
class FileAdditionalFilesPatternsTest(PicardTestCase):
363+
364+
def test_empty_patterns(self):
365+
self.set_config_values({
366+
'move_additional_files_pattern': ' ',
367+
})
368+
f = File('/somepath/01 somefile.mp3')
369+
self.assertEqual(f._compile_move_additional_files_pattern(config), set())
370+
371+
def test_simple_patterns(self):
372+
self.set_config_values({
373+
'move_additional_files_pattern': 'cover.jpg',
374+
})
375+
f = File('/somepath/01 somefile.mp3')
376+
expected = {
377+
(re.compile('(?s:cover\\.jpg)\\Z', re.IGNORECASE), False)
378+
}
379+
self.assertEqual(f._compile_move_additional_files_pattern(config), expected)
380+
381+
def test_duplicated_patterns(self):
382+
self.set_config_values({
383+
'move_additional_files_pattern': 'cover.jpg cover.jpg',
384+
})
385+
f = File('/somepath/01 somefile.mp3')
386+
expected = {
387+
(re.compile('(?s:cover\\.jpg)\\Z', re.IGNORECASE), False)
388+
}
389+
self.assertEqual(f._compile_move_additional_files_pattern(config), expected)
390+
391+
def test_simple_hidden_patterns(self):
392+
self.set_config_values({
393+
'move_additional_files_pattern': 'cover.jpg .hidden',
394+
})
395+
f = File('/somepath/01 somefile.mp3')
396+
expected = {
397+
(re.compile('(?s:cover\\.jpg)\\Z', re.IGNORECASE), False),
398+
(re.compile('(?s:\\.hidden)\\Z', re.IGNORECASE), True)
399+
}
400+
self.assertEqual(f._compile_move_additional_files_pattern(config), expected)
401+
402+
def test_wildcard_patterns(self):
403+
self.set_config_values({
404+
'move_additional_files_pattern': 'c?ver.jpg .h?dden* *.jpg *.JPG',
405+
})
406+
f = File('/somepath/01 somefile.mp3')
407+
expected = {
408+
(re.compile('(?s:c.ver\\.jpg)\\Z', re.IGNORECASE), False),
409+
(re.compile('(?s:\\.h.dden.*)\\Z', re.IGNORECASE), True),
410+
(re.compile('(?s:.*\\.jpg)\\Z', re.IGNORECASE), False),
411+
(re.compile('(?s:.*\\.JPG)\\Z', re.IGNORECASE), False)
412+
}
413+
self.assertEqual(f._compile_move_additional_files_pattern(config), expected)

0 commit comments

Comments
 (0)