old_contents: import unittest
  import gc
  
  from common import gtk
  
  class CallOnDel:
      def __init__(self, callback):
          self.callback = callback
      def __del__(self):
          self.callback()
  
  class GdkTest(unittest.TestCase):
      def testBitmapCreateFromData(self):
          gtk.gdk.bitmap_create_from_data(None, '\x00', 1, 1)
  
      def testPixmapCreateFromData(self):
          black = gtk.gdk.color_parse('black')
          gtk.gdk.pixmap_create_from_data(None, '\x00', 1, 1, 1,
                                          black, black)
  
      def _testWindow(self):
          common = {'finalized': False}
          def on_finalize():
              common['finalized'] = True
          w = gtk.gdk.Window(None, 200, 200, gtk.gdk.WINDOW_TEMP, 0, 0)
          w.set_data('foo', CallOnDel(on_finalize))
          w.destroy()
          while gtk.events_pending():
              gtk.main_iteration(block=False)
          del w
  
          # Note that this depends on the mainloop processing an X event so
          # if might fail if the timing is off
          while gc.collect():
              pass
          assert common['finalized']
  
  
      def testDrawIndexedImage(self):
          w = gtk.Window()
          w.realize()
          w.window.draw_indexed_image(gtk.gdk.GC(w.window),
                                      0, 0,
                                      1, 2,
                                      gtk.gdk.RGB_DITHER_NONE,
                                      '\x00\x01',
                                      1,
                                      [0xdeadbe, 0xbebabe])
  
new_contents: import unittest
  import gc
  
  from common import gtk
  
  class CallOnDel:
      def __init__(self, callback):
          self.callback = callback
      def __del__(self):
          self.callback()
  
  class GdkTest(unittest.TestCase):
      def testBitmapCreateFromData(self):
          gtk.gdk.bitmap_create_from_data(None, '\x00', 1, 1)
  
      def testPixmapCreateFromData(self):
          black = gtk.gdk.color_parse('black')
          gtk.gdk.pixmap_create_from_data(None, '\x00', 1, 1, 1,
                                          black, black)
  
      def _testWindow(self):
          common = {'finalized': False}
          def on_finalize():
              common['finalized'] = True
          w = gtk.gdk.Window(None, 200, 200, gtk.gdk.WINDOW_TEMP, 0, 0)
          w.set_data('foo', CallOnDel(on_finalize))
          w.destroy()
          while gtk.events_pending():
              gtk.main_iteration(block=False)
          del w
  
          # Note that this depends on the mainloop processing an X event so
          # if might fail if the timing is off
          while gc.collect():
              pass
          assert common['finalized']
  
  
      def testDrawIndexedImage(self):
          w = gtk.Window()
          w.realize()
          w.window.draw_indexed_image(gtk.gdk.GC(w.window),
                                      0, 0,
                                      1, 2,
                                      gtk.gdk.RGB_DITHER_NONE,
                                      '\x00\x01',
                                      1,
                                      [0xdeadbe, 0xbebabe])
  
      def testDisplay(self):
          gc.collect()
          display = gtk.gdk.Display(None)
          del display
          self.assertEquals(gc.collect(), 1)
          display = gtk.gdk.Display(None)
          display.close()
          del display
          #self.assertEquals(gc.collect(), 1)
  
subject: Add a display refcounting test