testinggtk r293 - trunk/tests



Author: bjornl
Date: Sat Jun 28 12:01:09 2008
New Revision: 293
URL: http://svn.gnome.org/viewvc/testinggtk?rev=293&view=rev

Log:
Test that the widget hierarchy of the window that the scale button pops up is correct

Modified:
   trunk/tests/test_scalebutton.py

Modified: trunk/tests/test_scalebutton.py
==============================================================================
--- trunk/tests/test_scalebutton.py	(original)
+++ trunk/tests/test_scalebutton.py	Sat Jun 28 12:01:09 2008
@@ -2,6 +2,7 @@
 Tests for the ``gtk.ScaleButton`` class.
 '''
 import gtk
+from gtk import gdk
 
 def test_default_attributes():
     sb = gtk.ScaleButton(gtk.ICON_SIZE_INVALID, 0, 100, 2)
@@ -40,7 +41,6 @@
     Ensure that ``gtk.ScaleButton`` performs a grab when it received a
     button press event.
     '''
-    from gtk import gdk
     sb = gtk.ScaleButton(gtk.ICON_SIZE_INVALID, 0, 100, 2)
 
     # Assign it a suitable gdk.Window
@@ -54,3 +54,37 @@
     ev = gdk.Event(gdk.BUTTON_PRESS)
     sb.do_button_press_event(sb, ev)
     assert gtk.grab_get_current()
+
+def test_popup_window_hierarchy():
+    '''
+    Ensure that the widget hierarchy in the popup window is correct.
+    '''
+    sb = gtk.ScaleButton(gtk.ICON_SIZE_INVALID, 0, 10, 2)
+
+    # Assign it a suitable gdk.Window
+    sb.window = gdk.Window(None,
+                           100, 100,
+                           gdk.WINDOW_TOPLEVEL,
+                           0,
+                           gdk.INPUT_OUTPUT,
+                           x = 120, y = 80)
+
+    ev = gdk.Event(gdk.BUTTON_PRESS)
+    sb.do_button_press_event(sb, ev)
+
+    scale = gtk.grab_get_current()
+    window = scale.get_toplevel()
+    assert isinstance(window, gtk.Window)
+
+    frame = window.get_children()[0]
+    assert isinstance(frame, gtk.Frame)
+
+    vbox = frame.get_children()[0]
+    assert isinstance(vbox, gtk.VBox)
+
+    plus_button, vscale, minus_button = vbox.get_children()
+    assert isinstance(plus_button, gtk.Button)
+    assert plus_button.get_label() == '+'
+    assert isinstance(vscale, gtk.VScale)
+    assert isinstance(minus_button, gtk.Button)
+    assert minus_button.get_label() == '-'



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]