mirror of
https://github.com/beetbox/beets.git
synced 2025-12-16 05:34:47 +01:00
Test that mtimes are updated when writing files
Follows the discussion in #937 and the wiki [1]. [1]: https://github.com/sampsyo/beets/wiki/Architecture#modification-times-mtime
This commit is contained in:
parent
3fe52a7694
commit
84acf17855
1 changed files with 42 additions and 1 deletions
|
|
@ -145,7 +145,8 @@ class ModifyTest(unittest.TestCase, TestHelper):
|
|||
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
self.add_album_fixture()
|
||||
self.album = self.add_album_fixture()
|
||||
[self.item] = self.album.items()
|
||||
|
||||
def tearDown(self):
|
||||
self.teardown_beets()
|
||||
|
|
@ -183,6 +184,22 @@ class ModifyTest(unittest.TestCase, TestHelper):
|
|||
item = self.lib.items().get()
|
||||
self.assertNotIn('newTitle', item.path)
|
||||
|
||||
def test_update_mtime(self):
|
||||
item = self.item
|
||||
old_mtime = item.mtime
|
||||
|
||||
self.modify("title=newTitle")
|
||||
item.load()
|
||||
self.assertNotEqual(old_mtime, item.mtime)
|
||||
self.assertEqual(item.current_mtime(), item.mtime)
|
||||
|
||||
def test_reset_mtime_with_no_write(self):
|
||||
item = self.item
|
||||
|
||||
self.modify("--nowrite", "title=newTitle")
|
||||
item.load()
|
||||
self.assertEqual(0, item.mtime)
|
||||
|
||||
# Album Tests
|
||||
|
||||
def test_modify_album(self):
|
||||
|
|
@ -275,6 +292,30 @@ class ModifyTest(unittest.TestCase, TestHelper):
|
|||
self.assertEqual(mods, {"title": "newTitle"})
|
||||
|
||||
|
||||
class WriteTest(unittest.TestCase, TestHelper):
|
||||
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
|
||||
def tearDown(self):
|
||||
self.teardown_beets()
|
||||
|
||||
def write_cmd(self, *args):
|
||||
ui._raw_main(['write'] + list(args), self.lib)
|
||||
|
||||
def test_update_mtime(self):
|
||||
item = self.add_item_fixture()
|
||||
item['title'] = 'a new title'
|
||||
item.store()
|
||||
|
||||
item = self.lib.items().get()
|
||||
self.assertEqual(item.mtime, 0)
|
||||
|
||||
self.write_cmd()
|
||||
item = self.lib.items().get()
|
||||
self.assertEqual(item.mtime, item.current_mtime())
|
||||
|
||||
|
||||
class MoveTest(_common.TestCase):
|
||||
def setUp(self):
|
||||
super(MoveTest, self).setUp()
|
||||
|
|
|
|||
Loading…
Reference in a new issue