home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2004 December / PCpro_2004_12.ISO / files / webserver / tsw / TSW_3.4.0.exe / Apache2 / perl / test.pl < prev    next >
Encoding:
Text File  |  2003-02-05  |  2.6 KB  |  105 lines

  1. # Test suite for the Term::ANSIColor Perl module.  Before `make install' is
  2. # performed this script should be runnable with `make test'.  After `make
  3. # install' it should work as `perl test.pl'.
  4.  
  5. ############################################################################
  6. # Ensure module can be loaded
  7. ############################################################################
  8.  
  9. BEGIN { $| = 1; print "1..12\n" }
  10. END   { print "not ok 1\n" unless $loaded }
  11. delete $ENV{ANSI_COLORS_DISABLED};
  12. use Term::ANSIColor qw(:constants color colored uncolor);
  13. $loaded = 1;
  14. print "ok 1\n";
  15.  
  16.  
  17. ############################################################################
  18. # Test suite
  19. ############################################################################
  20.  
  21. # Test simple color attributes.
  22. if (color ('blue on_green', 'bold') eq "\e[34;42;1m") {
  23.     print "ok 2\n";
  24. } else {
  25.     print "not ok 2\n";
  26. }
  27.  
  28. # Test colored.
  29. if (colored ("testing", 'blue', 'bold') eq "\e[34;1mtesting\e[0m") {
  30.     print "ok 3\n";
  31. } else {
  32.     print "not ok 3\n";
  33. }
  34.  
  35. # Test the constants.
  36. if (BLUE BOLD "testing" eq "\e[34m\e[1mtesting") {
  37.     print "ok 4\n";
  38. } else {
  39.     print "not ok 4\n";
  40. }
  41.  
  42. # Test AUTORESET.
  43. $Term::ANSIColor::AUTORESET = 1;
  44. if (BLUE BOLD "testing" eq "\e[34m\e[1mtesting\e[0m\e[0m") {
  45.     print "ok 5\n";
  46. } else {
  47.     print "not ok 5\n";
  48. }
  49.  
  50. # Test EACHLINE.
  51. $Term::ANSIColor::EACHLINE = "\n";
  52. if (colored ("test\n\ntest", 'bold')
  53.     eq "\e[1mtest\e[0m\n\n\e[1mtest\e[0m") {
  54.     print "ok 6\n";
  55. } else {
  56.     print colored ("test\n\ntest", 'bold'), "\n";
  57.     print "not ok 6\n";
  58. }
  59.  
  60. # Test EACHLINE with multiple trailing delimiters.
  61. $Term::ANSIColor::EACHLINE = "\r\n";
  62. if (colored ("test\ntest\r\r\n\r\n", 'bold')
  63.     eq "\e[1mtest\ntest\r\e[0m\r\n\r\n") {
  64.     print "ok 7\n";
  65. } else {
  66.     print "not ok 7\n";
  67. }
  68.  
  69. # Test the array ref form.
  70. $Term::ANSIColor::EACHLINE = "\n";
  71. if (colored (['bold', 'on_green'], "test\n", "\n", "test")
  72.     eq "\e[1;42mtest\e[0m\n\n\e[1;42mtest\e[0m") {
  73.     print "ok 8\n";
  74. } else {
  75.     print colored (['bold', 'on_green'], "test\n", "\n", "test");
  76.     print "not ok 8\n";
  77. }
  78.  
  79. # Test uncolor.
  80. my @names = uncolor ('1;42', "\e[m", '', "\e[0m");
  81. if (join ('|', @names) eq 'bold|on_green|clear') {
  82.     print "ok 9\n";
  83. } else {
  84.     print join ('|', @names), "\n";
  85.     print "not ok 9\n";
  86. }
  87.  
  88. # Test ANSI_COLORS_DISABLED.
  89. $ENV{ANSI_COLORS_DISABLED} = 1;
  90. if (color ('blue') == '') {
  91.     print "ok 10\n";
  92. } else {
  93.     print "not ok 10\n";
  94. }
  95. if (colored ('testing', 'blue', 'on_red') == 'testing') {
  96.     print "ok 11\n";
  97. } else {
  98.     print "not ok 11\n";
  99. }
  100. if (GREEN 'testing' eq 'testing') {
  101.     print "ok 12\n";
  102. } else {
  103.     print "not ok 12\n";
  104. }
  105.