Ajout du GUI
This commit is contained in:
69
kivy/tests/test_audio.py
Normal file
69
kivy/tests/test_audio.py
Normal file
@@ -0,0 +1,69 @@
|
||||
'''
|
||||
Audio tests
|
||||
===========
|
||||
'''
|
||||
|
||||
import unittest
|
||||
import os
|
||||
import pytest
|
||||
if os.environ.get('KIVY_TEST_AUDIO') == '0':
|
||||
pytestmark = pytest.mark.skip("Audio is not available")
|
||||
|
||||
SAMPLE_FILE = os.path.join(os.path.dirname(__file__), 'sample1.ogg')
|
||||
SAMPLE_LENGTH = 1.402
|
||||
DELTA = SAMPLE_LENGTH * 0.01
|
||||
DELAY = 0.2
|
||||
|
||||
|
||||
class AudioTestCase(unittest.TestCase):
|
||||
|
||||
def get_sound(self):
|
||||
import os
|
||||
assert os.path.exists(SAMPLE_FILE)
|
||||
from kivy.core import audio
|
||||
return audio.SoundLoader.load(SAMPLE_FILE)
|
||||
|
||||
def test_length_simple(self):
|
||||
sound = self.get_sound()
|
||||
volume = sound.volume = 0.75
|
||||
length = sound.length
|
||||
self.assertAlmostEqual(SAMPLE_LENGTH, length, delta=DELTA)
|
||||
# ensure that the gstreamer play/stop doesn't mess up the volume
|
||||
assert volume == sound.volume
|
||||
|
||||
def test_length_playing(self):
|
||||
import time
|
||||
sound = self.get_sound()
|
||||
sound.play()
|
||||
try:
|
||||
time.sleep(DELAY)
|
||||
length = sound.length
|
||||
self.assertAlmostEqual(SAMPLE_LENGTH, length, delta=DELTA)
|
||||
finally:
|
||||
sound.stop()
|
||||
self.assertAlmostEqual(SAMPLE_LENGTH, length, delta=DELTA)
|
||||
|
||||
def test_length_stopped(self):
|
||||
import time
|
||||
sound = self.get_sound()
|
||||
sound.play()
|
||||
try:
|
||||
time.sleep(DELAY)
|
||||
finally:
|
||||
sound.stop()
|
||||
length = sound.length
|
||||
self.assertAlmostEqual(SAMPLE_LENGTH, length, delta=DELTA)
|
||||
|
||||
|
||||
class AudioGstreamerTestCase(AudioTestCase):
|
||||
|
||||
def make_sound(self, source):
|
||||
from kivy.core.audio import audio_gstreamer
|
||||
return audio_gstreamer.SoundGstreamer(source)
|
||||
|
||||
|
||||
class AudioPygameTestCase(AudioTestCase):
|
||||
|
||||
def make_sound(self, source):
|
||||
from kivy.core.audio import audio_pygame
|
||||
return audio_pygame.SoundPygame(source)
|
||||
Reference in New Issue
Block a user