39 lines
1.7 KiB
Python
39 lines
1.7 KiB
Python
# Copyright 2021 (c) Anna Schumaker.
|
|
import unittest
|
|
from gi.repository import Gst
|
|
from . import replaygain
|
|
|
|
class TestReplayGainSink(unittest.TestCase):
|
|
def test_replay_gain_sink_init(self):
|
|
rgsink = replaygain.ReplayGainSink()
|
|
|
|
self.assertIsInstance(rgsink, Gst.Bin)
|
|
self.assertIsInstance(rgsink.selector, Gst.Element)
|
|
self.assertIsInstance(rgsink.funnel, Gst.Element)
|
|
self.assertIsInstance(rgsink.audiosink, Gst.Element)
|
|
self.assertIsInstance(rgsink.rgvolume, Gst.Element)
|
|
self.assertIsInstance(rgsink.rglimiter, Gst.Element)
|
|
|
|
self.assertIsInstance(rgsink.shortcut, Gst.Pad)
|
|
self.assertIsInstance(rgsink.replaygain, Gst.Pad)
|
|
self.assertIsInstance(rgsink.get_static_pad("sink"), Gst.GhostPad)
|
|
|
|
def test_replay_gain_sink_mode(self):
|
|
rgsink = replaygain.ReplayGainSink()
|
|
self.assertEqual(rgsink.get_property("mode"), "disabled")
|
|
|
|
rgsink.set_property("mode", "album")
|
|
self.assertEqual(rgsink.get_property("mode"), "album")
|
|
self.assertEqual(rgsink.selector.get_property("active-pad"),
|
|
rgsink.replaygain)
|
|
|
|
rgsink.set_property("mode", "track")
|
|
self.assertEqual(rgsink.get_property("mode"), "track")
|
|
self.assertEqual(rgsink.selector.get_property("active-pad"),
|
|
rgsink.replaygain)
|
|
|
|
rgsink.set_property("mode", "disabled")
|
|
self.assertEqual(rgsink.get_property("mode"), "disabled")
|
|
self.assertEqual(rgsink.selector.get_property("active-pad"),
|
|
rgsink.shortcut)
|