# Copyright 2022 (c) Anna Schumaker. """Tests our title widgets.""" import unittest import emmental.sidebar.title from gi.repository import Pango from gi.repository import Gtk class TestTitle(unittest.TestCase): """Tests the row title widget.""" def setUp(self): """Initialize common variables.""" self.title = emmental.sidebar.title.Title() def test_init(self): """Test that the row Title is set up properly.""" self.assertIsInstance(self.title, Gtk.Box) self.assertEqual(self.title.get_orientation(), Gtk.Orientation.VERTICAL) self.assertEqual(self.title.get_valign(), Gtk.Align.CENTER) self.assertEqual(self.title.get_margin_top(), 6) self.assertEqual(self.title.get_margin_bottom(), 6) self.assertTrue(self.title.get_hexpand()) def test_title(self): """Test the title property.""" self.assertIsInstance(self.title._title, Gtk.Label) self.assertEqual(self.title.title, "") self.assertEqual(self.title.get_first_child(), self.title._title) self.assertIsNone(self.title.get_tooltip_text()) self.assertEqual(self.title._title.get_text(), "") self.assertEqual(self.title._title.get_xalign(), 0) self.assertEqual(self.title._title.get_ellipsize(), Pango.EllipsizeMode.END) self.assertTrue(self.title._title.has_css_class("header")) self.title.title = "Test Title" self.assertEqual(self.title._title.get_text(), "Test Title") self.assertEqual(self.title.get_tooltip_text(), "Test Title") title2 = emmental.sidebar.title.Title(title="Other Title") self.assertEqual(title2._title.get_text(), "Other Title") self.assertEqual(title2.get_tooltip_text(), "Other Title") def test_subtitle(self): """Test the subtitle property.""" self.assertIsInstance(self.title._subtitle, Gtk.Label) self.assertEqual(self.title.subtitle, "") self.assertEqual(self.title._title.get_next_sibling(), self.title._subtitle) self.assertEqual(self.title._subtitle.get_text(), "") self.assertEqual(self.title._subtitle.get_xalign(), 0) self.assertEqual(self.title._subtitle.get_ellipsize(), Pango.EllipsizeMode.END) self.assertTrue(self.title._subtitle.has_css_class("caption")) self.title.subtitle = "Test Subtitle" self.assertEqual(self.title._subtitle.get_text(), "Test Subtitle") title2 = emmental.sidebar.title.Title(subtitle="Other Subtitle") self.assertEqual(title2._subtitle.get_text(), "Other Subtitle")