emmental/rind/audio/test_artwork.py

43 lines
1.5 KiB
Python

# Copyright 2019 (c) Anna Schumaker.
from . import artwork
from . import playbin
from . import widgets
from .. import gtk
import os
import unittest
from gi.repository import Gtk, Gst
test_track = os.path.abspath("./trier/Test Album/01 - Test Track.ogg")
class TestAudioArtwork(unittest.TestCase):
def setUp(self):
playbin.reset()
widgets.reset()
def test_artwork_init(self):
self.assertIsInstance(artwork.Image, Gtk.Image)
self.assertIsInstance(artwork.Paned, Gtk.Paned)
self.assertIsInstance(artwork.Separator, Gtk.Separator)
self.assertIsNone(artwork.Pixbuf)
self.assertFalse(artwork.Image.is_visible())
self.assertFalse(artwork.Separator.is_visible())
def test_artwork_load(self):
artwork.Paned.set_position(150)
playbin.set_uri(test_track, Gst.State.PAUSED)
gtk.main_loop(delay=0.1)
self.assertTrue(artwork.Image.is_visible())
self.assertTrue(artwork.Separator.is_visible())
self.assertEqual(artwork.Image.get_storage_type(), Gtk.ImageType.PIXBUF)
self.assertEqual(artwork.Pixbuf.get_height(), 512)
self.assertEqual(artwork.Pixbuf.get_width(), 512)
pbuf = artwork.Image.get_pixbuf()
self.assertEqual(pbuf.get_height(), 149)
self.assertEqual(pbuf.get_width(), 149)
playbin.set_uri(test_track)
self.assertFalse(artwork.Image.is_visible())
self.assertFalse(artwork.Separator.is_visible())