/t/core_rwops.t

http://github.com/PerlGameDev/SDL · Perl · 66 lines · 55 code · 7 blank · 4 comment · 0 complexity · d33bed08909d1511bff0ea8a0474ded1 MD5 · raw file

  1. #!/usr/bin/perl -w
  2. use strict;
  3. use warnings;
  4. use SDL;
  5. use Test::More;
  6. use SDL::RWOps;
  7. my @done = qw/
  8. new_file
  9. seek
  10. close
  11. /;
  12. can_ok( 'SDL::RWOps', @done );
  13. open FH, '>', '.rwops';
  14. print FH 'rwops';
  15. close FH;
  16. my $file = SDL::RWOps->new_file( '.rwops', 'rw' );
  17. isa_ok( $file, 'SDL::RWOps', '[from_file] returns RWOps' );
  18. #0 SEEK_SET
  19. #1 SEEK_CUR
  20. #2 SEEK_END
  21. my $len = $file->seek( 0, 0 );
  22. is( $len, 0, '[seek] gets seek_end' );
  23. $len = $file->seek( 0, 1 );
  24. is( $len, 0, '[seek] gets seek_start' );
  25. $len = $file->seek( 0, 2 );
  26. is( $len, 5, '[seek] gets seek_cur' );
  27. SKIP:
  28. {
  29. skip( 'crashing', 1 );
  30. my $char;
  31. my $blocks = $file->read( $char, 16, 1 );
  32. is( $blocks, 5, '[read] got ' . $char );
  33. }
  34. $file->close();
  35. unlink '.rwops';
  36. my @left = qw/
  37. from_fp
  38. from_mem
  39. from_const_mem
  40. alloc
  41. free
  42. tell
  43. read
  44. write
  45. /;
  46. my $why =
  47. '[Percentage Completion] '
  48. . int( 100 * ( $#done + 1 ) / ( $#done + $#left + 2 ) )
  49. . "\% implementation. "
  50. . ( $#done + 1 ) . " / "
  51. . ( $#done + $#left + 2 );
  52. TODO:
  53. {
  54. local $TODO = $why;
  55. fail "Not Implmented $_" foreach (@left)
  56. }
  57. print "$why\n";
  58. done_testing;
  59. sleep(2);