mpd: Handle unknown outputid

This commit is contained in:
Stein Magnus Jodal 2013-10-10 10:02:34 +02:00
parent db892e6974
commit b539a9c094
2 changed files with 16 additions and 2 deletions

View File

@ -1,5 +1,6 @@
from __future__ import unicode_literals
from mopidy.frontends.mpd.exceptions import MpdNoExistError
from mopidy.frontends.mpd.protocol import handle_request
@ -14,7 +15,8 @@ def disableoutput(context, outputid):
"""
if int(outputid) == 0:
context.core.playback.set_mute(True)
# TODO Return proper error on unknown outputid
else:
raise MpdNoExistError('No such audio output', command='disableoutput')
@handle_request(r'^enableoutput "(?P<outputid>\d+)"$')
@ -28,7 +30,8 @@ def enableoutput(context, outputid):
"""
if int(outputid) == 0:
context.core.playback.set_mute(False)
# TODO Return proper error on unknown outputid
else:
raise MpdNoExistError('No such audio output', command='enableoutput')
@handle_request(r'^outputs$')

View File

@ -12,6 +12,11 @@ class AudioOutputHandlerTest(protocol.BaseTestCase):
self.assertInResponse('OK')
self.assertEqual(self.core.playback.mute.get(), False)
def test_enableoutput_unknown_outputid(self):
self.sendRequest('enableoutput "7"')
self.assertInResponse('ACK [50@0] {enableoutput} No such audio output')
def test_disableoutput(self):
self.core.playback.mute = False
@ -20,6 +25,12 @@ class AudioOutputHandlerTest(protocol.BaseTestCase):
self.assertInResponse('OK')
self.assertEqual(self.core.playback.mute.get(), True)
def test_disableoutput_unknown_outputid(self):
self.sendRequest('disableoutput "7"')
self.assertInResponse(
'ACK [50@0] {disableoutput} No such audio output')
def test_outputs_when_unmuted(self):
self.core.playback.mute = False