/t/sdlx_sfont.t

http://github.com/PerlGameDev/SDL · Raku · 61 lines · 42 code · 15 blank · 4 comment · 8 complexity · f67c047b657b216e3765085ae9612177 MD5 · raw file

  1. use strict;
  2. use warnings;
  3. use Test::More;
  4. use SDL;
  5. use SDL::Config;
  6. use SDL::Video;
  7. use SDL::Surface;
  8. use SDLx::SFont;
  9. use lib 't/lib';
  10. use SDL::TestTool;
  11. my $videodriver = $ENV{SDL_VIDEODRIVER};
  12. $ENV{SDL_VIDEODRIVER} = 'dummy' unless $ENV{SDL_RELEASE_TESTING};
  13. my $audiodriver = $ENV{SDL_AUDIODRIVER};
  14. $ENV{SDL_AUDIODRIVER} = 'dummy' unless $ENV{SDL_RELEASE_TESTING};
  15. if ( !SDL::TestTool->init(SDL_INIT_VIDEO) ) {
  16. plan( skip_all => 'Failed to init video' );
  17. } elsif ( !SDL::Config->has('SDL_image') ) {
  18. plan( skip_all => 'SDL_image support not compiled' );
  19. }
  20. can_ok( 'SDLx::SFont', qw( new ) );
  21. #Make a surface
  22. #Select a font
  23. my $d = SDL::Surface->new( SDL_SWSURFACE, 100, 100, 32 );
  24. my $font = SDLx::SFont->new( 'test/data/font.' . ( SDL::Config->has('png') ? 'png' : 'bmp' ) );
  25. isa_ok( $font, 'SDL::Surface', '[new] makes surface' );
  26. #print using $font
  27. SDLx::SFont::print_text( $d, 10, 10, 'Huh' );
  28. pass('[print_test] worked');
  29. $font->use();
  30. pass('[use] switch font worked');
  31. SDLx::SFont::print_text( $d, 10, 10, 'Huh' );
  32. pass('[use|printe_text] switch to font and print worked');
  33. END {
  34. done_testing;
  35. #reset the old video driver
  36. if ($videodriver) {
  37. $ENV{SDL_VIDEODRIVER} = $videodriver;
  38. } else {
  39. delete $ENV{SDL_VIDEODRIVER};
  40. }
  41. if ($audiodriver) {
  42. $ENV{SDL_AUDIODRIVER} = $audiodriver;
  43. } else {
  44. delete $ENV{SDL_AUDIODRIVER};
  45. }
  46. }