Selaa lähdekoodia

add tests for banner

Daniel Sheffield 1 vuosi sitten
vanhempi
säilyke
bb88cc077a
2 muutettua tiedostoa jossa 26 lisäystä ja 2 poistoa
  1. 2 2
      app/activities/Banner.py
  2. 24 0
      test/activities/test_banner.py

+ 2 - 2
app/activities/Banner.py

@@ -4,10 +4,10 @@
 # All rights reserved
 #
 # THIS SOFTWARE IS PROVIDED AS IS WITHOUT WARRANTY
-from urwid import AttrMap, Padding, Pile, Text
+from urwid import AttrMap, Padding, Pile, Text, AttrMap
 from .. import COPYRIGHT
 
-def banner(title):
+def banner(title: str) -> AttrMap:
     header = Text(title, 'center')
     _copyright = Text(COPYRIGHT, 'center')
     return AttrMap(Pile([

+ 24 - 0
test/activities/test_banner.py

@@ -0,0 +1,24 @@
+#
+# Copyright (c) Daniel Sheffield 2023
+#
+# All rights reserved
+#
+# THIS SOFTWARE IS PROVIDED AS IS WITHOUT WARRANTY
+from app import COPYRIGHT
+from app.activities.Banner import banner
+from urwid import Text, Pile, AttrMap, Padding
+
+def test_banner():
+    myBanner = banner('test-banner')
+    assert isinstance(myBanner.original_widget, Pile)
+    assert isinstance(myBanner, AttrMap)
+    contents = myBanner.original_widget.contents
+    assert len(contents) == 2
+    for (w,_), expected in zip(contents, [
+        'test-banner',
+        COPYRIGHT
+    ]):
+        assert isinstance(w, Padding)
+        original = w.original_widget
+        assert isinstance(original, Text)
+        assert original.get_text()[0] == expected