mirror of
https://github.com/beetbox/beets.git
synced 2025-12-16 05:34:47 +01:00
Merge branch 'editor' of github.com:sampsyo/beets into editor
This commit is contained in:
commit
c679e3f307
2 changed files with 16 additions and 14 deletions
|
|
@ -242,5 +242,6 @@ class EditPlugin(plugins.BeetsPlugin):
|
|||
|
||||
# Save to the database and possibly write tags.
|
||||
for ob in objs:
|
||||
self._log.debug('saving changes to {}', ob)
|
||||
ob.try_sync(ui.should_write())
|
||||
if ob._dirty:
|
||||
self._log.debug('saving changes to {}', ob)
|
||||
ob.try_sync(ui.should_write())
|
||||
|
|
|
|||
|
|
@ -189,6 +189,19 @@ class EditCommandTest(unittest.TestCase, TestHelper):
|
|||
self.album.load()
|
||||
self.assertEqual(self.album.album, u'\u00e4lbum')
|
||||
|
||||
def test_single_edit_add_field(self):
|
||||
"""Edit the yaml file appending an extra field to the first item, then
|
||||
apply changes."""
|
||||
# append "foo: bar" to item with id == 1
|
||||
self.run_mocked_command({'replacements': {u'id: 1':
|
||||
u'id: 1\nfoo: bar'}},
|
||||
# Apply changes? y
|
||||
['y'])
|
||||
|
||||
self.assertEqual(self.lib.items('id:1')[0].foo, 'bar')
|
||||
self.assertCounts(write_call_count=1,
|
||||
title_starts_with=u't\u00eftle')
|
||||
|
||||
def test_a_album_edit_apply(self):
|
||||
"""Album query (-a), edit album field, apply changes."""
|
||||
self.run_mocked_command({'replacements': {u'\u00e4lbum':
|
||||
|
|
@ -239,18 +252,6 @@ class EditCommandTest(unittest.TestCase, TestHelper):
|
|||
self.assertCounts(write_call_count=0,
|
||||
title_starts_with=u't\u00eftle')
|
||||
|
||||
def test_invalid_yaml_extra_field(self):
|
||||
"""Edit the yaml file incorrectly (resulting in a well-formed but
|
||||
invalid yaml document), appending an extra field to the first item."""
|
||||
# append "foo: bar" to item with id == 1
|
||||
self.run_mocked_command({'replacements': {u'id: 1':
|
||||
u'id: 1\nfoo: bar'}},
|
||||
# no stdin
|
||||
[])
|
||||
|
||||
self.assertCounts(write_call_count=0,
|
||||
title_starts_with=u't\u00eftle')
|
||||
|
||||
|
||||
def suite():
|
||||
return unittest.TestLoader().loadTestsFromName(__name__)
|
||||
|
|
|
|||
Loading…
Reference in a new issue