home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / prgramer / perl / while.t < prev    next >
Text File  |  1991-06-16  |  2KB  |  112 lines

  1. #!./perl
  2.  
  3. # $Header: while.t,v 4.0 91/03/20 01:49:51 lwall Locked $
  4.  
  5. print "1..10\n";
  6.  
  7. open (tmp,'>Cmd.while.tmp') || die "Can't create Cmd.while.tmp.";
  8. print tmp "tvi925\n";
  9. print tmp "tvi920\n";
  10. print tmp "vt100\n";
  11. print tmp "Amiga\n";
  12. print tmp "paper\n";
  13. close tmp;
  14.  
  15. # test "last" command
  16.  
  17. open(fh,'Cmd.while.tmp') || die "Can't open Cmd.while.tmp.";
  18. while (<fh>) {
  19.     last if /vt100/;
  20. }
  21. if (!eof && /vt100/) {print "ok 1\n";} else {print "not ok 1 $_\n";}
  22.  
  23. # test "next" command
  24.  
  25. $bad = '';
  26. open(fh,'Cmd.while.tmp') || die "Can't open Cmd.while.tmp.";
  27. while (<fh>) {
  28.     next if /vt100/;
  29.     $bad = 1 if /vt100/;
  30. }
  31. if (!eof || /vt100/ || $bad) {print "not ok 2\n";} else {print "ok 2\n";}
  32.  
  33. # test "redo" command
  34.  
  35. $bad = '';
  36. open(fh,'Cmd.while.tmp') || die "Can't open Cmd.while.tmp.";
  37. while (<fh>) {
  38.     if (s/vt100/VT100/g) {
  39.     s/VT100/Vt100/g;
  40.     redo;
  41.     }
  42.     $bad = 1 if /vt100/;
  43.     $bad = 1 if /VT100/;
  44. }
  45. if (!eof || $bad) {print "not ok 3\n";} else {print "ok 3\n";}
  46.  
  47. # now do the same with a label and a continue block
  48.  
  49. # test "last" command
  50.  
  51. $badcont = '';
  52. open(fh,'Cmd.while.tmp') || die "Can't open Cmd.while.tmp.";
  53. line: while (<fh>) {
  54.     if (/vt100/) {last line;}
  55. } continue {
  56.     $badcont = 1 if /vt100/;
  57. }
  58. if (!eof && /vt100/) {print "ok 4\n";} else {print "not ok 4\n";}
  59. if (!$badcont) {print "ok 5\n";} else {print "not ok 5\n";}
  60.  
  61. # test "next" command
  62.  
  63. $bad = '';
  64. $badcont = 1;
  65. open(fh,'Cmd.while.tmp') || die "Can't open Cmd.while.tmp.";
  66. entry: while (<fh>) {
  67.     next entry if /vt100/;
  68.     $bad = 1 if /vt100/;
  69. } continue {
  70.     $badcont = '' if /vt100/;
  71. }
  72. if (!eof || /vt100/ || $bad) {print "not ok 6\n";} else {print "ok 6\n";}
  73. if (!$badcont) {print "ok 7\n";} else {print "not ok 7\n";}
  74.  
  75. # test "redo" command
  76.  
  77. $bad = '';
  78. $badcont = '';
  79. open(fh,'Cmd.while.tmp') || die "Can't open Cmd.while.tmp.";
  80. loop: while (<fh>) {
  81.     if (s/vt100/VT100/g) {
  82.     s/VT100/Vt100/g;
  83.     redo loop;
  84.     }
  85.     $bad = 1 if /vt100/;
  86.     $bad = 1 if /VT100/;
  87. } continue {
  88.     $badcont = 1 if /vt100/;
  89. }
  90. if (!eof || $bad) {print "not ok 8\n";} else {print "ok 8\n";}
  91. if (!$badcont) {print "ok 9\n";} else {print "not ok 9\n";}
  92.  
  93. close(fh);
  94. `del Cmd.while.tmp`;
  95.  
  96. #$x = 0;
  97. #while (1) {
  98. #    if ($x > 1) {last;}
  99. #    next;
  100. #} continue {
  101. #    if ($x++ > 10) {last;}
  102. #    next;
  103. #}
  104. #
  105. #if ($x < 10) {print "ok 10\n";} else {print "not ok 10\n";}
  106.  
  107. $i = 9;
  108. {
  109.     $i++;
  110. }
  111. print "ok $i\n";
  112.