]> git.sesse.net Git - vlc/blobdiff - bindings/python-ctypes/test.py
libvlcpp: add some functions for Video.
[vlc] / bindings / python-ctypes / test.py
index bd0c4a3d9944c586f36a541e12b1da5f37ed7b56..7675fedc1b67d8637be57c37add4b9003012c7c1 100755 (executable)
@@ -37,37 +37,37 @@ class TestVLCAPI(unittest.TestCase):
     # failure, check that the reason is not a change in the .h
     # definitions.
     def test_enum_event_type(self):
-        self.assertEqual(vlc.EventType.MediaStateChanged, 5)
+        self.assertEqual(vlc.EventType.MediaStateChanged.value, 5)
 
     def test_enum_meta(self):
-        self.assertEqual(vlc.Meta.Description, 6)
+        self.assertEqual(vlc.Meta.Description.value, 6)
 
     def test_enum_state(self):
-        self.assertEqual(vlc.State.Playing, 3)
+        self.assertEqual(vlc.State.Playing.value, 3)
 
     def test_enum_media_option(self):
-        self.assertEqual(vlc.MediaOption.unique, 256)
+        self.assertEqual(vlc.MediaOption.unique.value, 256)
 
     def test_enum_playback_mode(self):
-        self.assertEqual(vlc.PlaybackMode.repeat, 2)
+        self.assertEqual(vlc.PlaybackMode.repeat.value, 2)
 
     def test_enum_marquee_int_option(self):
-        self.assertEqual(vlc.VideoMarqueeIntOption.Size, 5)
+        self.assertEqual(vlc.VideoMarqueeIntOption.Size.value, 5)
 
     def test_enum_output_device_type(self):
-        self.assertEqual(vlc.AudioOutputDeviceTypes._2F2R, 4)
+        self.assertEqual(vlc.AudioOutputDeviceTypes._2F2R.value, 4)
 
     def test_enum_output_channel(self):
-        self.assertEqual(vlc.AudioOutputChannel.Dolbys, 5)
+        self.assertEqual(vlc.AudioOutputChannel.Dolbys.value, 5)
 
     def test_enum_position_origin(self):
-        self.assertEqual(vlc.PositionOrigin.ModuloPosition, 2)
+        self.assertEqual(vlc.PositionOrigin.ModuloPosition.value, 2)
 
     def test_enum_position_key(self):
-        self.assertEqual(vlc.PositionKey.MediaTime, 2)
+        self.assertEqual(vlc.PositionKey.MediaTime.value, 2)
 
     def test_enum_player_status(self):
-        self.assertEqual(vlc.PlayerStatus.StopStatus, 5)
+        self.assertEqual(vlc.PlayerStatus.StopStatus.value, 5)
 
     # Basic MediaControl tests
     def test_mediacontrol_creation(self):
@@ -84,6 +84,29 @@ class TestVLCAPI(unittest.TestCase):
         mc.set_mrl(mrl)
         self.assertEqual(mc.get_mrl(), mrl)
 
+    def test_mediacontrol_position(self):
+        p=vlc.MediaControlPosition(value=2,
+                                   origin=vlc.PositionOrigin.RelativePosition,
+                                   key=vlc.PositionKey.MediaTime)
+        self.assertEqual(p.value, 2)
+
+    def test_mediacontrol_position_shortcut(self):
+        p=vlc.MediaControlPosition(2)
+        self.assertEqual(p.value, 2)
+        self.assertEqual(p.key, vlc.PositionKey.MediaTime)
+        self.assertEqual(p.origin, vlc.PositionOrigin.AbsolutePosition)
+
+    def test_mediacontrol_get_media_position(self):
+        mc=vlc.MediaControl()
+        p=mc.get_media_position()
+        self.assertEqual(p.value, -1)
+
+    def test_mediacontrol_get_stream_information(self):
+        mc=vlc.MediaControl()
+        s=mc.get_stream_information()
+        self.assertEqual(s.position, 0)
+        self.assertEqual(s.length, 0)
+
     # Basic libvlc tests
     def test_instance_creation(self):
         i=vlc.Instance()
@@ -101,5 +124,37 @@ class TestVLCAPI(unittest.TestCase):
         p=i.media_player_new(mrl)
         self.assertEqual(p.get_media().get_mrl(), mrl)
 
+    def test_libvlc_player_state(self):
+        mrl='/tmp/foo.avi'
+        i=vlc.Instance()
+        p=i.media_player_new(mrl)
+        self.assertEqual(p.get_state(), vlc.State.Ended)
+
+    def test_libvlc_logger(self):
+        i=vlc.Instance()
+        l=i.log_open()
+        l.clear()
+        self.assertEqual(l.count(), 0)
+        l.close()
+
+    def test_libvlc_logger_clear(self):
+        i=vlc.Instance()
+        l=i.log_open()
+        l.clear()
+        self.assertEqual(l.count(), 0)
+        l.close()
+
+    def test_libvlc_logger(self):
+        i=vlc.Instance()
+        i.set_log_verbosity(3)
+        l=i.log_open()
+        # This should generate a log message
+        i.add_intf('dummy')
+        self.assertNotEqual(l.count(), 0)
+        for m in l:
+            # Ensure that messages can be read.
+            self.assertNotEqual(len(m.message), 0)
+        l.close()
+
 if __name__ == '__main__':
     unittest.main()