text: #!/usr/bin/env python
  
  '''Base class for text tests.
  '''
  
  __docformat__ = 'restructuredtext'
  __version__ = '$Id: $'
  
  import unittest
  import sys
  
  from pyglet import gl
  from pyglet import font
  from pyglet.window import Window
  from pyglet.window.event import key
  
  from tests.regression import ImageRegressionTestCase
  
  class TextTestBase(ImageRegressionTestCase):
      font_name = ''
      font_size = 24
      text = 'Quickly brown fox'
      window_size = 200, 200
  
      def on_key_press(self, symbol, modifiers):
          if symbol in (key.ENTER, key.ESCAPE):
              self.window.dispatch_event('on_close')
  
      def on_expose(self):
          gl.glClearColor(0.5, 0, 0, 1)
          gl.glClear(gl.GL_COLOR_BUFFER_BIT)
          gl.glLoadIdentity()
          self.draw()
          self.window.flip()
  
          if self.capture_regression_image():
              self.window.has_exit = True
  
      def render(self):
          fnt = font.load(self.font_name, self.font_size) 
          self.label = font.Text(fnt, self.text, 10, 10)
  
      def draw(self):
          self.label.draw()
  
      def test_main(self):
          width, height = self.window_size
          self.window = w = Window(width, height, visible=False, resizable=True)
          w.push_handlers(self)
  
          self.render()
  
          w.set_visible()
          while not w.has_exit:
              w.dispatch_events()
          w.close()
  
  if __name__ == '__main__':
      unittest.main()
  