Best Quick code snippet using is
024.phpt
Source:024.phpt  
...4<?php5for ($jdk=0; $jdk<50; $jdk++) {6?><html>7<head>8<?php /* the point of this file is to intensively test various aspects of the parser.9    * right now, each test focuses in one aspect only (e.g. variable aliasing, arithemtic operator,10    * various control structures), while trying to combine code from other parts of the parser as well.11    */12?>13*** Testing assignments and variable aliasing: ***14<?php15  /* This test tests assignments to variables using other variables as variable-names */16  $a = "b";17  $$a = "test";18  $$$a = "blah";19  ${$$$a}["associative arrays work too"] = "this is nifty";20?>21This should read "blah": <?php echo "$test\n"; ?>22This should read "this is nifty": <?php echo $blah[$test="associative arrays work too"]."\n"; ?>23*************************************************24*** Testing integer operators ***25<?php26  /* test just about any operator possible on $i and $j (ints) */27  $i = 5;28  $j = 3;29?>30Correct result - 8:  <?php echo $i+$j; ?>31Correct result - 8:  <?php echo $i+$j; ?>32Correct result - 2:  <?php echo $i-$j; ?>33Correct result - -2:  <?php echo $j-$i; ?>34Correct result - 15:  <?php echo $i*$j; ?>35Correct result - 15:  <?php echo $j*$i; ?>36Correct result - 2:  <?php echo $i%$j; ?>37Correct result - 3:  <?php echo $j%$i; ?>38*********************************39*** Testing real operators ***40<?php41  /* test just about any operator possible on $i and $j (floats) */42  $i = 5.0;43  $j = 3.0;44?>45Correct result - 8:  <?php echo $i+$j; ?>46Correct result - 8:  <?php echo $i+$j; ?>47Correct result - 2:  <?php echo $i-$j; ?>48Correct result - -2:  <?php echo $j-$i; ?>49Correct result - 15:  <?php echo $i*$j; ?>50Correct result - 15:  <?php echo $j*$i; ?>51Correct result - 2:  <?php echo $i%$j; ?>52Correct result - 3:  <?php echo $j%$i; ?>53*********************************54*** Testing if/elseif/else control ***55<?php56/* sick if/elseif/else test by Andi :) */57$a = 5;58if ($a == "4") {59    echo "This "." does "."  not "." work\n";60} elseif ($a == "5") {61    echo "This "." works\n";62    $a = 6;63    if ("andi" == ($test = "andi")) {64        echo "this_still_works\n";65    } elseif (1) {66        echo "should_not_print\n";67    } else {68            echo "should_not_print\n";69    }70        if (44 == 43) {71        echo "should_not_print\n";72    } else {73        echo "should_print\n";74    }75} elseif ($a == 6) {76    echo "this "."broken\n";77    if (0) {78        echo "this_should_not_print\n";79    } else {80        echo "TestingDanglingElse_This_Should_not_print\n";81    }82} else {83    echo "This "."does "." not"." work\n";84}85?>86*** Seriously nested if's test ***87** spelling correction by kluzz **88<?php89/* yet another sick if/elseif/else test by Zeev */90$i=$j=0;91echo "Only two lines of text should follow:\n";92if (0) { /* this code is not supposed to be executed */93  echo "hmm, this shouldn't be displayed #1\n";94  $j++;95  if (1) {96    $i += $j;97    if (0) {98      $j = ++$i;99      if (1) {100        $j *= $i;101        echo "damn, this shouldn't be displayed\n";102      } else {103        $j /= $i;104        ++$j;105        echo "this shouldn't be displayed either\n";106      }107    } elseif (1) {108      $i++; $j++;109      echo "this isn't supposed to be displayed\n";110    }111  } elseif (0) {112    $i++;113    echo "this definitely shouldn't be displayed\n";114  } else {115    --$j;116    echo "and this too shouldn't be displayed\n";117    while ($j>0) {118      $j--;119    }120  }121} elseif (2-2) {  /* as long as 2-2==0, this isn't supposed to be executed either */122  $i = ++$j;123  echo "hmm, this shouldn't be displayed #2\n";124  if (1) {125    $j = ++$i;126    if (0) {127      $j = $i*2+$j*($i++);128      if (1) {129        $i++;130        echo "damn, this shouldn't be displayed\n";131      } else {132        $j++;133        echo "this shouldn't be displayed either\n";134      }135    } else if (1) {136      ++$j;137      echo "this isn't supposed to be displayed\n";138    }139  } elseif (0) {140    $j++;141    echo "this definitely shouldn't be displayed\n";142  } else {143    $i++;144    echo "and this too shouldn't be displayed\n";145  }146} else {147  $j=$i++;  /* this should set $i to 1, but shouldn't change $j (it's assigned $i's previous values, zero) */148  echo "this should be displayed. should be:  \$i=1, \$j=0.  is:  \$i=$i, \$j=$j\n";149  if (1) {150    $j += ++$i;  /* ++$i --> $i==2,  $j += 2 --> $j==2 */151    if (0) {152      $j += 40;153      if (1) {154        $i += 50;155        echo "damn, this shouldn't be displayed\n";156      } else {157        $j += 20;158        echo "this shouldn't be displayed either\n";159      }160    } else if (1) {161      $j *= $i;  /* $j *= 2  --> $j == 4 */162      echo "this is supposed to be displayed. should be:  \$i=2, \$j=4.  is:  \$i=$i, \$j=$j\n";163      echo "3 loop iterations should follow:\n";164      while ($i<=$j) {165        echo $i++." $j\n";166      }167    }168  } elseif (0) {169    echo "this definitely shouldn't be displayed\n";170  } else {171    echo "and this too shouldn't be displayed\n";172  }173  echo "**********************************\n";174}175?>176*** C-style else-if's ***177<?php178  /* looks like without we even tried, C-style else-if structure works fine! */179  if ($a=0) {180    echo "This shouldn't be displayed\n";181  } else if ($a++) {182    echo "This shouldn't be displayed either\n";183  } else if (--$a) {184    echo "No, this neither\n";185  } else if (++$a) {186    echo "This should be displayed\n";187  } else {188    echo "This shouldn't be displayed at all\n";189  }190?>191*************************192*** WHILE tests ***193<?php194$i=0;195$j=20;196while ($i<(2*$j)) {197  if ($i>$j) {198    echo "$i is greater than $j\n";199  } else if ($i==$j) {200    echo "$i equals $j\n";201  } else {202    echo "$i is smaller than $j\n";203  }204  $i++;205}206?>207*******************208*** Nested WHILEs ***209<?php210$arr_len=3;211$i=0;212while ($i<$arr_len) {213  $j=0;214  while ($j<$arr_len) {215    $k=0;216    while ($k<$arr_len) {217      ${"test$i$j"}[$k] = $i+$j+$k;218      $k++;219    }220    $j++;221  }222  $i++;223}224echo "Each array variable should be equal to the sum of its indices:\n";225$i=0;226while ($i<$arr_len) {227  $j=0;228  while ($j<$arr_len) {229    $k=0;230    while ($k<$arr_len) {231      echo "\${test$i$j}[$k] = ".${"test$i$j"}[$k]."\n";232      $k++;233    }234    $j++;235  }236  $i++;237}238?>239*********************240*** hash test... ***241<?php242/*243$i=0;244while ($i<10000) {245  $arr[$i]=$i;246  $i++;247}248$i=0;249while ($i<10000) {250  echo $arr[$i++]."\n";251}252*/253echo "commented out...";254?>255**************************256*** Hash resizing test ***257<?php258$i = 10;259$a = "b";260while ($i > 0) {261    $a = $a . "a";262    echo "$a\n";263    $resize[$a] = $i;264    $i--;265}266$i = 10;267$a = "b";268while ($i > 0) {269    $a = $a . "a";270    echo "$a\n";271    echo $resize[$a]."\n";272    $i--;273}274?>275**************************276*** break/continue test ***277<?php278$i=0;279echo "\$i should go from 0 to 2\n";280while ($i<5) {281  if ($i>2) {282    break;283  }284  $j=0;285  echo "\$j should go from 3 to 4, and \$q should go from 3 to 4\n";286  while ($j<5) {287    if ($j<=2) {288      $j++;289      continue;290    }291    echo "  \$j=$j\n";292    for ($q=0; $q<=10; $q++) {293      if ($q<3) {294        continue;295      }296      if ($q>4) {297        break;298      }299      echo "    \$q=$q\n";300    }301    $j++;302  }303  $j=0;304  echo "\$j should go from 0 to 2\n";305  while ($j<5) {306    if ($j>2) {307      $k=0;308      echo "\$k should go from 0 to 2\n";309      while ($k<5) {310        if ($k>2) {311          break 2;312        }313        echo "    \$k=$k\n";314        $k++;315      }316    }317    echo "  \$j=$j\n";318    $j++;319  }320  echo "\$i=$i\n";321  $i++;322}323?>324***********************325*** Nested file include test ***326<?php include("023-2.inc"); ?>327********************************328<?php329{330  echo "Tests completed.\n";  # testing some PHP style comment...331}332} ?>333--EXPECT--334<html>335<head>336*** Testing assignments and variable aliasing: ***337This should read "blah": blah338This should read "this is nifty": this is nifty339*************************************************340*** Testing integer operators ***341Correct result - 8:  8342Correct result - 8:  8343Correct result - 2:  2344Correct result - -2:  -2345Correct result - 15:  15346Correct result - 15:  15347Correct result - 2:  2348Correct result - 3:  3349*********************************350*** Testing real operators ***351Correct result - 8:  8352Correct result - 8:  8353Correct result - 2:  2354Correct result - -2:  -2355Correct result - 15:  15356Correct result - 15:  15357Correct result - 2:  2358Correct result - 3:  3359*********************************360*** Testing if/elseif/else control ***361This  works362this_still_works363should_print364*** Seriously nested if's test ***365** spelling correction by kluzz **366Only two lines of text should follow:367this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=0368this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=43693 loop iterations should follow:3702 43713 43724 4373**********************************374*** C-style else-if's ***375This should be displayed376*************************377*** WHILE tests ***3780 is smaller than 203791 is smaller than 203802 is smaller than 203813 is smaller than 203824 is smaller than 203835 is smaller than 203846 is smaller than 203857 is smaller than 203868 is smaller than 203879 is smaller than 2038810 is smaller than 2038911 is smaller than 2039012 is smaller than 2039113 is smaller than 2039214 is smaller than 2039315 is smaller than 2039416 is smaller than 2039517 is smaller than 2039618 is smaller than 2039719 is smaller than 2039820 equals 2039921 is greater than 2040022 is greater than 2040123 is greater than 2040224 is greater than 2040325 is greater than 2040426 is greater than 2040527 is greater than 2040628 is greater than 2040729 is greater than 2040830 is greater than 2040931 is greater than 2041032 is greater than 2041133 is greater than 2041234 is greater than 2041335 is greater than 2041436 is greater than 2041537 is greater than 2041638 is greater than 2041739 is greater than 20418*******************419*** Nested WHILEs ***420Each array variable should be equal to the sum of its indices:421${test00}[0] = 0422${test00}[1] = 1423${test00}[2] = 2424${test01}[0] = 1425${test01}[1] = 2426${test01}[2] = 3427${test02}[0] = 2428${test02}[1] = 3429${test02}[2] = 4430${test10}[0] = 1431${test10}[1] = 2432${test10}[2] = 3433${test11}[0] = 2434${test11}[1] = 3435${test11}[2] = 4436${test12}[0] = 3437${test12}[1] = 4438${test12}[2] = 5439${test20}[0] = 2440${test20}[1] = 3441${test20}[2] = 4442${test21}[0] = 3443${test21}[1] = 4444${test21}[2] = 5445${test22}[0] = 4446${test22}[1] = 5447${test22}[2] = 6448*********************449*** hash test... ***450commented out...451**************************452*** Hash resizing test ***453ba454baa455baaa456baaaa457baaaaa458baaaaaa459baaaaaaa460baaaaaaaa461baaaaaaaaa462baaaaaaaaaa463ba46410465baa4669467baaa4688469baaaa4707471baaaaa4726473baaaaaa4745475baaaaaaa4764477baaaaaaaa4783479baaaaaaaaa4802481baaaaaaaaaa4821483**************************484*** break/continue test ***485$i should go from 0 to 2486$j should go from 3 to 4, and $q should go from 3 to 4487  $j=3488    $q=3489    $q=4490  $j=4491    $q=3492    $q=4493$j should go from 0 to 2494  $j=0495  $j=1496  $j=2497$k should go from 0 to 2498    $k=0499    $k=1500    $k=2501$i=0502$j should go from 3 to 4, and $q should go from 3 to 4503  $j=3504    $q=3505    $q=4506  $j=4507    $q=3508    $q=4509$j should go from 0 to 2510  $j=0511  $j=1512  $j=2513$k should go from 0 to 2514    $k=0515    $k=1516    $k=2517$i=1518$j should go from 3 to 4, and $q should go from 3 to 4519  $j=3520    $q=3521    $q=4522  $j=4523    $q=3524    $q=4525$j should go from 0 to 2526  $j=0527  $j=1528  $j=2529$k should go from 0 to 2530    $k=0531    $k=1532    $k=2533$i=2534***********************535*** Nested file include test ***536<html>537This is Finish.phtml.  This file is supposed to be included538from regression_test.phtml.  This is normal HTML.539and this is PHP code, 2+2=4540</html>541********************************542Tests completed.543<html>544<head>545*** Testing assignments and variable aliasing: ***546This should read "blah": blah547This should read "this is nifty": this is nifty548*************************************************549*** Testing integer operators ***550Correct result - 8:  8551Correct result - 8:  8552Correct result - 2:  2553Correct result - -2:  -2554Correct result - 15:  15555Correct result - 15:  15556Correct result - 2:  2557Correct result - 3:  3558*********************************559*** Testing real operators ***560Correct result - 8:  8561Correct result - 8:  8562Correct result - 2:  2563Correct result - -2:  -2564Correct result - 15:  15565Correct result - 15:  15566Correct result - 2:  2567Correct result - 3:  3568*********************************569*** Testing if/elseif/else control ***570This  works571this_still_works572should_print573*** Seriously nested if's test ***574** spelling correction by kluzz **575Only two lines of text should follow:576this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=0577this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=45783 loop iterations should follow:5792 45803 45814 4582**********************************583*** C-style else-if's ***584This should be displayed585*************************586*** WHILE tests ***5870 is smaller than 205881 is smaller than 205892 is smaller than 205903 is smaller than 205914 is smaller than 205925 is smaller than 205936 is smaller than 205947 is smaller than 205958 is smaller than 205969 is smaller than 2059710 is smaller than 2059811 is smaller than 2059912 is smaller than 2060013 is smaller than 2060114 is smaller than 2060215 is smaller than 2060316 is smaller than 2060417 is smaller than 2060518 is smaller than 2060619 is smaller than 2060720 equals 2060821 is greater than 2060922 is greater than 2061023 is greater than 2061124 is greater than 2061225 is greater than 2061326 is greater than 2061427 is greater than 2061528 is greater than 2061629 is greater than 2061730 is greater than 2061831 is greater than 2061932 is greater than 2062033 is greater than 2062134 is greater than 2062235 is greater than 2062336 is greater than 2062437 is greater than 2062538 is greater than 2062639 is greater than 20627*******************628*** Nested WHILEs ***629Each array variable should be equal to the sum of its indices:630${test00}[0] = 0631${test00}[1] = 1632${test00}[2] = 2633${test01}[0] = 1634${test01}[1] = 2635${test01}[2] = 3636${test02}[0] = 2637${test02}[1] = 3638${test02}[2] = 4639${test10}[0] = 1640${test10}[1] = 2641${test10}[2] = 3642${test11}[0] = 2643${test11}[1] = 3644${test11}[2] = 4645${test12}[0] = 3646${test12}[1] = 4647${test12}[2] = 5648${test20}[0] = 2649${test20}[1] = 3650${test20}[2] = 4651${test21}[0] = 3652${test21}[1] = 4653${test21}[2] = 5654${test22}[0] = 4655${test22}[1] = 5656${test22}[2] = 6657*********************658*** hash test... ***659commented out...660**************************661*** Hash resizing test ***662ba663baa664baaa665baaaa666baaaaa667baaaaaa668baaaaaaa669baaaaaaaa670baaaaaaaaa671baaaaaaaaaa672ba67310674baa6759676baaa6778678baaaa6797680baaaaa6816682baaaaaa6835684baaaaaaa6854686baaaaaaaa6873688baaaaaaaaa6892690baaaaaaaaaa6911692**************************693*** break/continue test ***694$i should go from 0 to 2695$j should go from 3 to 4, and $q should go from 3 to 4696  $j=3697    $q=3698    $q=4699  $j=4700    $q=3701    $q=4702$j should go from 0 to 2703  $j=0704  $j=1705  $j=2706$k should go from 0 to 2707    $k=0708    $k=1709    $k=2710$i=0711$j should go from 3 to 4, and $q should go from 3 to 4712  $j=3713    $q=3714    $q=4715  $j=4716    $q=3717    $q=4718$j should go from 0 to 2719  $j=0720  $j=1721  $j=2722$k should go from 0 to 2723    $k=0724    $k=1725    $k=2726$i=1727$j should go from 3 to 4, and $q should go from 3 to 4728  $j=3729    $q=3730    $q=4731  $j=4732    $q=3733    $q=4734$j should go from 0 to 2735  $j=0736  $j=1737  $j=2738$k should go from 0 to 2739    $k=0740    $k=1741    $k=2742$i=2743***********************744*** Nested file include test ***745<html>746This is Finish.phtml.  This file is supposed to be included747from regression_test.phtml.  This is normal HTML.748and this is PHP code, 2+2=4749</html>750********************************751Tests completed.752<html>753<head>754*** Testing assignments and variable aliasing: ***755This should read "blah": blah756This should read "this is nifty": this is nifty757*************************************************758*** Testing integer operators ***759Correct result - 8:  8760Correct result - 8:  8761Correct result - 2:  2762Correct result - -2:  -2763Correct result - 15:  15764Correct result - 15:  15765Correct result - 2:  2766Correct result - 3:  3767*********************************768*** Testing real operators ***769Correct result - 8:  8770Correct result - 8:  8771Correct result - 2:  2772Correct result - -2:  -2773Correct result - 15:  15774Correct result - 15:  15775Correct result - 2:  2776Correct result - 3:  3777*********************************778*** Testing if/elseif/else control ***779This  works780this_still_works781should_print782*** Seriously nested if's test ***783** spelling correction by kluzz **784Only two lines of text should follow:785this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=0786this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=47873 loop iterations should follow:7882 47893 47904 4791**********************************792*** C-style else-if's ***793This should be displayed794*************************795*** WHILE tests ***7960 is smaller than 207971 is smaller than 207982 is smaller than 207993 is smaller than 208004 is smaller than 208015 is smaller than 208026 is smaller than 208037 is smaller than 208048 is smaller than 208059 is smaller than 2080610 is smaller than 2080711 is smaller than 2080812 is smaller than 2080913 is smaller than 2081014 is smaller than 2081115 is smaller than 2081216 is smaller than 2081317 is smaller than 2081418 is smaller than 2081519 is smaller than 2081620 equals 2081721 is greater than 2081822 is greater than 2081923 is greater than 2082024 is greater than 2082125 is greater than 2082226 is greater than 2082327 is greater than 2082428 is greater than 2082529 is greater than 2082630 is greater than 2082731 is greater than 2082832 is greater than 2082933 is greater than 2083034 is greater than 2083135 is greater than 2083236 is greater than 2083337 is greater than 2083438 is greater than 2083539 is greater than 20836*******************837*** Nested WHILEs ***838Each array variable should be equal to the sum of its indices:839${test00}[0] = 0840${test00}[1] = 1841${test00}[2] = 2842${test01}[0] = 1843${test01}[1] = 2844${test01}[2] = 3845${test02}[0] = 2846${test02}[1] = 3847${test02}[2] = 4848${test10}[0] = 1849${test10}[1] = 2850${test10}[2] = 3851${test11}[0] = 2852${test11}[1] = 3853${test11}[2] = 4854${test12}[0] = 3855${test12}[1] = 4856${test12}[2] = 5857${test20}[0] = 2858${test20}[1] = 3859${test20}[2] = 4860${test21}[0] = 3861${test21}[1] = 4862${test21}[2] = 5863${test22}[0] = 4864${test22}[1] = 5865${test22}[2] = 6866*********************867*** hash test... ***868commented out...869**************************870*** Hash resizing test ***871ba872baa873baaa874baaaa875baaaaa876baaaaaa877baaaaaaa878baaaaaaaa879baaaaaaaaa880baaaaaaaaaa881ba88210883baa8849885baaa8868887baaaa8887889baaaaa8906891baaaaaa8925893baaaaaaa8944895baaaaaaaa8963897baaaaaaaaa8982899baaaaaaaaaa9001901**************************902*** break/continue test ***903$i should go from 0 to 2904$j should go from 3 to 4, and $q should go from 3 to 4905  $j=3906    $q=3907    $q=4908  $j=4909    $q=3910    $q=4911$j should go from 0 to 2912  $j=0913  $j=1914  $j=2915$k should go from 0 to 2916    $k=0917    $k=1918    $k=2919$i=0920$j should go from 3 to 4, and $q should go from 3 to 4921  $j=3922    $q=3923    $q=4924  $j=4925    $q=3926    $q=4927$j should go from 0 to 2928  $j=0929  $j=1930  $j=2931$k should go from 0 to 2932    $k=0933    $k=1934    $k=2935$i=1936$j should go from 3 to 4, and $q should go from 3 to 4937  $j=3938    $q=3939    $q=4940  $j=4941    $q=3942    $q=4943$j should go from 0 to 2944  $j=0945  $j=1946  $j=2947$k should go from 0 to 2948    $k=0949    $k=1950    $k=2951$i=2952***********************953*** Nested file include test ***954<html>955This is Finish.phtml.  This file is supposed to be included956from regression_test.phtml.  This is normal HTML.957and this is PHP code, 2+2=4958</html>959********************************960Tests completed.961<html>962<head>963*** Testing assignments and variable aliasing: ***964This should read "blah": blah965This should read "this is nifty": this is nifty966*************************************************967*** Testing integer operators ***968Correct result - 8:  8969Correct result - 8:  8970Correct result - 2:  2971Correct result - -2:  -2972Correct result - 15:  15973Correct result - 15:  15974Correct result - 2:  2975Correct result - 3:  3976*********************************977*** Testing real operators ***978Correct result - 8:  8979Correct result - 8:  8980Correct result - 2:  2981Correct result - -2:  -2982Correct result - 15:  15983Correct result - 15:  15984Correct result - 2:  2985Correct result - 3:  3986*********************************987*** Testing if/elseif/else control ***988This  works989this_still_works990should_print991*** Seriously nested if's test ***992** spelling correction by kluzz **993Only two lines of text should follow:994this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=0995this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=49963 loop iterations should follow:9972 49983 49994 41000**********************************1001*** C-style else-if's ***1002This should be displayed1003*************************1004*** WHILE tests ***10050 is smaller than 2010061 is smaller than 2010072 is smaller than 2010083 is smaller than 2010094 is smaller than 2010105 is smaller than 2010116 is smaller than 2010127 is smaller than 2010138 is smaller than 2010149 is smaller than 20101510 is smaller than 20101611 is smaller than 20101712 is smaller than 20101813 is smaller than 20101914 is smaller than 20102015 is smaller than 20102116 is smaller than 20102217 is smaller than 20102318 is smaller than 20102419 is smaller than 20102520 equals 20102621 is greater than 20102722 is greater than 20102823 is greater than 20102924 is greater than 20103025 is greater than 20103126 is greater than 20103227 is greater than 20103328 is greater than 20103429 is greater than 20103530 is greater than 20103631 is greater than 20103732 is greater than 20103833 is greater than 20103934 is greater than 20104035 is greater than 20104136 is greater than 20104237 is greater than 20104338 is greater than 20104439 is greater than 201045*******************1046*** Nested WHILEs ***1047Each array variable should be equal to the sum of its indices:1048${test00}[0] = 01049${test00}[1] = 11050${test00}[2] = 21051${test01}[0] = 11052${test01}[1] = 21053${test01}[2] = 31054${test02}[0] = 21055${test02}[1] = 31056${test02}[2] = 41057${test10}[0] = 11058${test10}[1] = 21059${test10}[2] = 31060${test11}[0] = 21061${test11}[1] = 31062${test11}[2] = 41063${test12}[0] = 31064${test12}[1] = 41065${test12}[2] = 51066${test20}[0] = 21067${test20}[1] = 31068${test20}[2] = 41069${test21}[0] = 31070${test21}[1] = 41071${test21}[2] = 51072${test22}[0] = 41073${test22}[1] = 51074${test22}[2] = 61075*********************1076*** hash test... ***1077commented out...1078**************************1079*** Hash resizing test ***1080ba1081baa1082baaa1083baaaa1084baaaaa1085baaaaaa1086baaaaaaa1087baaaaaaaa1088baaaaaaaaa1089baaaaaaaaaa1090ba1091101092baa109391094baaa109581096baaaa109771098baaaaa109961100baaaaaa110151102baaaaaaa110341104baaaaaaaa110531106baaaaaaaaa110721108baaaaaaaaaa110911110**************************1111*** break/continue test ***1112$i should go from 0 to 21113$j should go from 3 to 4, and $q should go from 3 to 41114  $j=31115    $q=31116    $q=41117  $j=41118    $q=31119    $q=41120$j should go from 0 to 21121  $j=01122  $j=11123  $j=21124$k should go from 0 to 21125    $k=01126    $k=11127    $k=21128$i=01129$j should go from 3 to 4, and $q should go from 3 to 41130  $j=31131    $q=31132    $q=41133  $j=41134    $q=31135    $q=41136$j should go from 0 to 21137  $j=01138  $j=11139  $j=21140$k should go from 0 to 21141    $k=01142    $k=11143    $k=21144$i=11145$j should go from 3 to 4, and $q should go from 3 to 41146  $j=31147    $q=31148    $q=41149  $j=41150    $q=31151    $q=41152$j should go from 0 to 21153  $j=01154  $j=11155  $j=21156$k should go from 0 to 21157    $k=01158    $k=11159    $k=21160$i=21161***********************1162*** Nested file include test ***1163<html>1164This is Finish.phtml.  This file is supposed to be included1165from regression_test.phtml.  This is normal HTML.1166and this is PHP code, 2+2=41167</html>1168********************************1169Tests completed.1170<html>1171<head>1172*** Testing assignments and variable aliasing: ***1173This should read "blah": blah1174This should read "this is nifty": this is nifty1175*************************************************1176*** Testing integer operators ***1177Correct result - 8:  81178Correct result - 8:  81179Correct result - 2:  21180Correct result - -2:  -21181Correct result - 15:  151182Correct result - 15:  151183Correct result - 2:  21184Correct result - 3:  31185*********************************1186*** Testing real operators ***1187Correct result - 8:  81188Correct result - 8:  81189Correct result - 2:  21190Correct result - -2:  -21191Correct result - 15:  151192Correct result - 15:  151193Correct result - 2:  21194Correct result - 3:  31195*********************************1196*** Testing if/elseif/else control ***1197This  works1198this_still_works1199should_print1200*** Seriously nested if's test ***1201** spelling correction by kluzz **1202Only two lines of text should follow:1203this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=01204this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=412053 loop iterations should follow:12062 412073 412084 41209**********************************1210*** C-style else-if's ***1211This should be displayed1212*************************1213*** WHILE tests ***12140 is smaller than 2012151 is smaller than 2012162 is smaller than 2012173 is smaller than 2012184 is smaller than 2012195 is smaller than 2012206 is smaller than 2012217 is smaller than 2012228 is smaller than 2012239 is smaller than 20122410 is smaller than 20122511 is smaller than 20122612 is smaller than 20122713 is smaller than 20122814 is smaller than 20122915 is smaller than 20123016 is smaller than 20123117 is smaller than 20123218 is smaller than 20123319 is smaller than 20123420 equals 20123521 is greater than 20123622 is greater than 20123723 is greater than 20123824 is greater than 20123925 is greater than 20124026 is greater than 20124127 is greater than 20124228 is greater than 20124329 is greater than 20124430 is greater than 20124531 is greater than 20124632 is greater than 20124733 is greater than 20124834 is greater than 20124935 is greater than 20125036 is greater than 20125137 is greater than 20125238 is greater than 20125339 is greater than 201254*******************1255*** Nested WHILEs ***1256Each array variable should be equal to the sum of its indices:1257${test00}[0] = 01258${test00}[1] = 11259${test00}[2] = 21260${test01}[0] = 11261${test01}[1] = 21262${test01}[2] = 31263${test02}[0] = 21264${test02}[1] = 31265${test02}[2] = 41266${test10}[0] = 11267${test10}[1] = 21268${test10}[2] = 31269${test11}[0] = 21270${test11}[1] = 31271${test11}[2] = 41272${test12}[0] = 31273${test12}[1] = 41274${test12}[2] = 51275${test20}[0] = 21276${test20}[1] = 31277${test20}[2] = 41278${test21}[0] = 31279${test21}[1] = 41280${test21}[2] = 51281${test22}[0] = 41282${test22}[1] = 51283${test22}[2] = 61284*********************1285*** hash test... ***1286commented out...1287**************************1288*** Hash resizing test ***1289ba1290baa1291baaa1292baaaa1293baaaaa1294baaaaaa1295baaaaaaa1296baaaaaaaa1297baaaaaaaaa1298baaaaaaaaaa1299ba1300101301baa130291303baaa130481305baaaa130671307baaaaa130861309baaaaaa131051311baaaaaaa131241313baaaaaaaa131431315baaaaaaaaa131621317baaaaaaaaaa131811319**************************1320*** break/continue test ***1321$i should go from 0 to 21322$j should go from 3 to 4, and $q should go from 3 to 41323  $j=31324    $q=31325    $q=41326  $j=41327    $q=31328    $q=41329$j should go from 0 to 21330  $j=01331  $j=11332  $j=21333$k should go from 0 to 21334    $k=01335    $k=11336    $k=21337$i=01338$j should go from 3 to 4, and $q should go from 3 to 41339  $j=31340    $q=31341    $q=41342  $j=41343    $q=31344    $q=41345$j should go from 0 to 21346  $j=01347  $j=11348  $j=21349$k should go from 0 to 21350    $k=01351    $k=11352    $k=21353$i=11354$j should go from 3 to 4, and $q should go from 3 to 41355  $j=31356    $q=31357    $q=41358  $j=41359    $q=31360    $q=41361$j should go from 0 to 21362  $j=01363  $j=11364  $j=21365$k should go from 0 to 21366    $k=01367    $k=11368    $k=21369$i=21370***********************1371*** Nested file include test ***1372<html>1373This is Finish.phtml.  This file is supposed to be included1374from regression_test.phtml.  This is normal HTML.1375and this is PHP code, 2+2=41376</html>1377********************************1378Tests completed.1379<html>1380<head>1381*** Testing assignments and variable aliasing: ***1382This should read "blah": blah1383This should read "this is nifty": this is nifty1384*************************************************1385*** Testing integer operators ***1386Correct result - 8:  81387Correct result - 8:  81388Correct result - 2:  21389Correct result - -2:  -21390Correct result - 15:  151391Correct result - 15:  151392Correct result - 2:  21393Correct result - 3:  31394*********************************1395*** Testing real operators ***1396Correct result - 8:  81397Correct result - 8:  81398Correct result - 2:  21399Correct result - -2:  -21400Correct result - 15:  151401Correct result - 15:  151402Correct result - 2:  21403Correct result - 3:  31404*********************************1405*** Testing if/elseif/else control ***1406This  works1407this_still_works1408should_print1409*** Seriously nested if's test ***1410** spelling correction by kluzz **1411Only two lines of text should follow:1412this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=01413this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=414143 loop iterations should follow:14152 414163 414174 41418**********************************1419*** C-style else-if's ***1420This should be displayed1421*************************1422*** WHILE tests ***14230 is smaller than 2014241 is smaller than 2014252 is smaller than 2014263 is smaller than 2014274 is smaller than 2014285 is smaller than 2014296 is smaller than 2014307 is smaller than 2014318 is smaller than 2014329 is smaller than 20143310 is smaller than 20143411 is smaller than 20143512 is smaller than 20143613 is smaller than 20143714 is smaller than 20143815 is smaller than 20143916 is smaller than 20144017 is smaller than 20144118 is smaller than 20144219 is smaller than 20144320 equals 20144421 is greater than 20144522 is greater than 20144623 is greater than 20144724 is greater than 20144825 is greater than 20144926 is greater than 20145027 is greater than 20145128 is greater than 20145229 is greater than 20145330 is greater than 20145431 is greater than 20145532 is greater than 20145633 is greater than 20145734 is greater than 20145835 is greater than 20145936 is greater than 20146037 is greater than 20146138 is greater than 20146239 is greater than 201463*******************1464*** Nested WHILEs ***1465Each array variable should be equal to the sum of its indices:1466${test00}[0] = 01467${test00}[1] = 11468${test00}[2] = 21469${test01}[0] = 11470${test01}[1] = 21471${test01}[2] = 31472${test02}[0] = 21473${test02}[1] = 31474${test02}[2] = 41475${test10}[0] = 11476${test10}[1] = 21477${test10}[2] = 31478${test11}[0] = 21479${test11}[1] = 31480${test11}[2] = 41481${test12}[0] = 31482${test12}[1] = 41483${test12}[2] = 51484${test20}[0] = 21485${test20}[1] = 31486${test20}[2] = 41487${test21}[0] = 31488${test21}[1] = 41489${test21}[2] = 51490${test22}[0] = 41491${test22}[1] = 51492${test22}[2] = 61493*********************1494*** hash test... ***1495commented out...1496**************************1497*** Hash resizing test ***1498ba1499baa1500baaa1501baaaa1502baaaaa1503baaaaaa1504baaaaaaa1505baaaaaaaa1506baaaaaaaaa1507baaaaaaaaaa1508ba1509101510baa151191512baaa151381514baaaa151571516baaaaa151761518baaaaaa151951520baaaaaaa152141522baaaaaaaa152331524baaaaaaaaa152521526baaaaaaaaaa152711528**************************1529*** break/continue test ***1530$i should go from 0 to 21531$j should go from 3 to 4, and $q should go from 3 to 41532  $j=31533    $q=31534    $q=41535  $j=41536    $q=31537    $q=41538$j should go from 0 to 21539  $j=01540  $j=11541  $j=21542$k should go from 0 to 21543    $k=01544    $k=11545    $k=21546$i=01547$j should go from 3 to 4, and $q should go from 3 to 41548  $j=31549    $q=31550    $q=41551  $j=41552    $q=31553    $q=41554$j should go from 0 to 21555  $j=01556  $j=11557  $j=21558$k should go from 0 to 21559    $k=01560    $k=11561    $k=21562$i=11563$j should go from 3 to 4, and $q should go from 3 to 41564  $j=31565    $q=31566    $q=41567  $j=41568    $q=31569    $q=41570$j should go from 0 to 21571  $j=01572  $j=11573  $j=21574$k should go from 0 to 21575    $k=01576    $k=11577    $k=21578$i=21579***********************1580*** Nested file include test ***1581<html>1582This is Finish.phtml.  This file is supposed to be included1583from regression_test.phtml.  This is normal HTML.1584and this is PHP code, 2+2=41585</html>1586********************************1587Tests completed.1588<html>1589<head>1590*** Testing assignments and variable aliasing: ***1591This should read "blah": blah1592This should read "this is nifty": this is nifty1593*************************************************1594*** Testing integer operators ***1595Correct result - 8:  81596Correct result - 8:  81597Correct result - 2:  21598Correct result - -2:  -21599Correct result - 15:  151600Correct result - 15:  151601Correct result - 2:  21602Correct result - 3:  31603*********************************1604*** Testing real operators ***1605Correct result - 8:  81606Correct result - 8:  81607Correct result - 2:  21608Correct result - -2:  -21609Correct result - 15:  151610Correct result - 15:  151611Correct result - 2:  21612Correct result - 3:  31613*********************************1614*** Testing if/elseif/else control ***1615This  works1616this_still_works1617should_print1618*** Seriously nested if's test ***1619** spelling correction by kluzz **1620Only two lines of text should follow:1621this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=01622this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=416233 loop iterations should follow:16242 416253 416264 41627**********************************1628*** C-style else-if's ***1629This should be displayed1630*************************1631*** WHILE tests ***16320 is smaller than 2016331 is smaller than 2016342 is smaller than 2016353 is smaller than 2016364 is smaller than 2016375 is smaller than 2016386 is smaller than 2016397 is smaller than 2016408 is smaller than 2016419 is smaller than 20164210 is smaller than 20164311 is smaller than 20164412 is smaller than 20164513 is smaller than 20164614 is smaller than 20164715 is smaller than 20164816 is smaller than 20164917 is smaller than 20165018 is smaller than 20165119 is smaller than 20165220 equals 20165321 is greater than 20165422 is greater than 20165523 is greater than 20165624 is greater than 20165725 is greater than 20165826 is greater than 20165927 is greater than 20166028 is greater than 20166129 is greater than 20166230 is greater than 20166331 is greater than 20166432 is greater than 20166533 is greater than 20166634 is greater than 20166735 is greater than 20166836 is greater than 20166937 is greater than 20167038 is greater than 20167139 is greater than 201672*******************1673*** Nested WHILEs ***1674Each array variable should be equal to the sum of its indices:1675${test00}[0] = 01676${test00}[1] = 11677${test00}[2] = 21678${test01}[0] = 11679${test01}[1] = 21680${test01}[2] = 31681${test02}[0] = 21682${test02}[1] = 31683${test02}[2] = 41684${test10}[0] = 11685${test10}[1] = 21686${test10}[2] = 31687${test11}[0] = 21688${test11}[1] = 31689${test11}[2] = 41690${test12}[0] = 31691${test12}[1] = 41692${test12}[2] = 51693${test20}[0] = 21694${test20}[1] = 31695${test20}[2] = 41696${test21}[0] = 31697${test21}[1] = 41698${test21}[2] = 51699${test22}[0] = 41700${test22}[1] = 51701${test22}[2] = 61702*********************1703*** hash test... ***1704commented out...1705**************************1706*** Hash resizing test ***1707ba1708baa1709baaa1710baaaa1711baaaaa1712baaaaaa1713baaaaaaa1714baaaaaaaa1715baaaaaaaaa1716baaaaaaaaaa1717ba1718101719baa172091721baaa172281723baaaa172471725baaaaa172661727baaaaaa172851729baaaaaaa173041731baaaaaaaa173231733baaaaaaaaa173421735baaaaaaaaaa173611737**************************1738*** break/continue test ***1739$i should go from 0 to 21740$j should go from 3 to 4, and $q should go from 3 to 41741  $j=31742    $q=31743    $q=41744  $j=41745    $q=31746    $q=41747$j should go from 0 to 21748  $j=01749  $j=11750  $j=21751$k should go from 0 to 21752    $k=01753    $k=11754    $k=21755$i=01756$j should go from 3 to 4, and $q should go from 3 to 41757  $j=31758    $q=31759    $q=41760  $j=41761    $q=31762    $q=41763$j should go from 0 to 21764  $j=01765  $j=11766  $j=21767$k should go from 0 to 21768    $k=01769    $k=11770    $k=21771$i=11772$j should go from 3 to 4, and $q should go from 3 to 41773  $j=31774    $q=31775    $q=41776  $j=41777    $q=31778    $q=41779$j should go from 0 to 21780  $j=01781  $j=11782  $j=21783$k should go from 0 to 21784    $k=01785    $k=11786    $k=21787$i=21788***********************1789*** Nested file include test ***1790<html>1791This is Finish.phtml.  This file is supposed to be included1792from regression_test.phtml.  This is normal HTML.1793and this is PHP code, 2+2=41794</html>1795********************************1796Tests completed.1797<html>1798<head>1799*** Testing assignments and variable aliasing: ***1800This should read "blah": blah1801This should read "this is nifty": this is nifty1802*************************************************1803*** Testing integer operators ***1804Correct result - 8:  81805Correct result - 8:  81806Correct result - 2:  21807Correct result - -2:  -21808Correct result - 15:  151809Correct result - 15:  151810Correct result - 2:  21811Correct result - 3:  31812*********************************1813*** Testing real operators ***1814Correct result - 8:  81815Correct result - 8:  81816Correct result - 2:  21817Correct result - -2:  -21818Correct result - 15:  151819Correct result - 15:  151820Correct result - 2:  21821Correct result - 3:  31822*********************************1823*** Testing if/elseif/else control ***1824This  works1825this_still_works1826should_print1827*** Seriously nested if's test ***1828** spelling correction by kluzz **1829Only two lines of text should follow:1830this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=01831this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=418323 loop iterations should follow:18332 418343 418354 41836**********************************1837*** C-style else-if's ***1838This should be displayed1839*************************1840*** WHILE tests ***18410 is smaller than 2018421 is smaller than 2018432 is smaller than 2018443 is smaller than 2018454 is smaller than 2018465 is smaller than 2018476 is smaller than 2018487 is smaller than 2018498 is smaller than 2018509 is smaller than 20185110 is smaller than 20185211 is smaller than 20185312 is smaller than 20185413 is smaller than 20185514 is smaller than 20185615 is smaller than 20185716 is smaller than 20185817 is smaller than 20185918 is smaller than 20186019 is smaller than 20186120 equals 20186221 is greater than 20186322 is greater than 20186423 is greater than 20186524 is greater than 20186625 is greater than 20186726 is greater than 20186827 is greater than 20186928 is greater than 20187029 is greater than 20187130 is greater than 20187231 is greater than 20187332 is greater than 20187433 is greater than 20187534 is greater than 20187635 is greater than 20187736 is greater than 20187837 is greater than 20187938 is greater than 20188039 is greater than 201881*******************1882*** Nested WHILEs ***1883Each array variable should be equal to the sum of its indices:1884${test00}[0] = 01885${test00}[1] = 11886${test00}[2] = 21887${test01}[0] = 11888${test01}[1] = 21889${test01}[2] = 31890${test02}[0] = 21891${test02}[1] = 31892${test02}[2] = 41893${test10}[0] = 11894${test10}[1] = 21895${test10}[2] = 31896${test11}[0] = 21897${test11}[1] = 31898${test11}[2] = 41899${test12}[0] = 31900${test12}[1] = 41901${test12}[2] = 51902${test20}[0] = 21903${test20}[1] = 31904${test20}[2] = 41905${test21}[0] = 31906${test21}[1] = 41907${test21}[2] = 51908${test22}[0] = 41909${test22}[1] = 51910${test22}[2] = 61911*********************1912*** hash test... ***1913commented out...1914**************************1915*** Hash resizing test ***1916ba1917baa1918baaa1919baaaa1920baaaaa1921baaaaaa1922baaaaaaa1923baaaaaaaa1924baaaaaaaaa1925baaaaaaaaaa1926ba1927101928baa192991930baaa193181932baaaa193371934baaaaa193561936baaaaaa193751938baaaaaaa193941940baaaaaaaa194131942baaaaaaaaa194321944baaaaaaaaaa194511946**************************1947*** break/continue test ***1948$i should go from 0 to 21949$j should go from 3 to 4, and $q should go from 3 to 41950  $j=31951    $q=31952    $q=41953  $j=41954    $q=31955    $q=41956$j should go from 0 to 21957  $j=01958  $j=11959  $j=21960$k should go from 0 to 21961    $k=01962    $k=11963    $k=21964$i=01965$j should go from 3 to 4, and $q should go from 3 to 41966  $j=31967    $q=31968    $q=41969  $j=41970    $q=31971    $q=41972$j should go from 0 to 21973  $j=01974  $j=11975  $j=21976$k should go from 0 to 21977    $k=01978    $k=11979    $k=21980$i=11981$j should go from 3 to 4, and $q should go from 3 to 41982  $j=31983    $q=31984    $q=41985  $j=41986    $q=31987    $q=41988$j should go from 0 to 21989  $j=01990  $j=11991  $j=21992$k should go from 0 to 21993    $k=01994    $k=11995    $k=21996$i=21997***********************1998*** Nested file include test ***1999<html>2000This is Finish.phtml.  This file is supposed to be included2001from regression_test.phtml.  This is normal HTML.2002and this is PHP code, 2+2=42003</html>2004********************************2005Tests completed.2006<html>2007<head>2008*** Testing assignments and variable aliasing: ***2009This should read "blah": blah2010This should read "this is nifty": this is nifty2011*************************************************2012*** Testing integer operators ***2013Correct result - 8:  82014Correct result - 8:  82015Correct result - 2:  22016Correct result - -2:  -22017Correct result - 15:  152018Correct result - 15:  152019Correct result - 2:  22020Correct result - 3:  32021*********************************2022*** Testing real operators ***2023Correct result - 8:  82024Correct result - 8:  82025Correct result - 2:  22026Correct result - -2:  -22027Correct result - 15:  152028Correct result - 15:  152029Correct result - 2:  22030Correct result - 3:  32031*********************************2032*** Testing if/elseif/else control ***2033This  works2034this_still_works2035should_print2036*** Seriously nested if's test ***2037** spelling correction by kluzz **2038Only two lines of text should follow:2039this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=02040this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=420413 loop iterations should follow:20422 420433 420444 42045**********************************2046*** C-style else-if's ***2047This should be displayed2048*************************2049*** WHILE tests ***20500 is smaller than 2020511 is smaller than 2020522 is smaller than 2020533 is smaller than 2020544 is smaller than 2020555 is smaller than 2020566 is smaller than 2020577 is smaller than 2020588 is smaller than 2020599 is smaller than 20206010 is smaller than 20206111 is smaller than 20206212 is smaller than 20206313 is smaller than 20206414 is smaller than 20206515 is smaller than 20206616 is smaller than 20206717 is smaller than 20206818 is smaller than 20206919 is smaller than 20207020 equals 20207121 is greater than 20207222 is greater than 20207323 is greater than 20207424 is greater than 20207525 is greater than 20207626 is greater than 20207727 is greater than 20207828 is greater than 20207929 is greater than 20208030 is greater than 20208131 is greater than 20208232 is greater than 20208333 is greater than 20208434 is greater than 20208535 is greater than 20208636 is greater than 20208737 is greater than 20208838 is greater than 20208939 is greater than 202090*******************2091*** Nested WHILEs ***2092Each array variable should be equal to the sum of its indices:2093${test00}[0] = 02094${test00}[1] = 12095${test00}[2] = 22096${test01}[0] = 12097${test01}[1] = 22098${test01}[2] = 32099${test02}[0] = 22100${test02}[1] = 32101${test02}[2] = 42102${test10}[0] = 12103${test10}[1] = 22104${test10}[2] = 32105${test11}[0] = 22106${test11}[1] = 32107${test11}[2] = 42108${test12}[0] = 32109${test12}[1] = 42110${test12}[2] = 52111${test20}[0] = 22112${test20}[1] = 32113${test20}[2] = 42114${test21}[0] = 32115${test21}[1] = 42116${test21}[2] = 52117${test22}[0] = 42118${test22}[1] = 52119${test22}[2] = 62120*********************2121*** hash test... ***2122commented out...2123**************************2124*** Hash resizing test ***2125ba2126baa2127baaa2128baaaa2129baaaaa2130baaaaaa2131baaaaaaa2132baaaaaaaa2133baaaaaaaaa2134baaaaaaaaaa2135ba2136102137baa213892139baaa214082141baaaa214272143baaaaa214462145baaaaaa214652147baaaaaaa214842149baaaaaaaa215032151baaaaaaaaa215222153baaaaaaaaaa215412155**************************2156*** break/continue test ***2157$i should go from 0 to 22158$j should go from 3 to 4, and $q should go from 3 to 42159  $j=32160    $q=32161    $q=42162  $j=42163    $q=32164    $q=42165$j should go from 0 to 22166  $j=02167  $j=12168  $j=22169$k should go from 0 to 22170    $k=02171    $k=12172    $k=22173$i=02174$j should go from 3 to 4, and $q should go from 3 to 42175  $j=32176    $q=32177    $q=42178  $j=42179    $q=32180    $q=42181$j should go from 0 to 22182  $j=02183  $j=12184  $j=22185$k should go from 0 to 22186    $k=02187    $k=12188    $k=22189$i=12190$j should go from 3 to 4, and $q should go from 3 to 42191  $j=32192    $q=32193    $q=42194  $j=42195    $q=32196    $q=42197$j should go from 0 to 22198  $j=02199  $j=12200  $j=22201$k should go from 0 to 22202    $k=02203    $k=12204    $k=22205$i=22206***********************2207*** Nested file include test ***2208<html>2209This is Finish.phtml.  This file is supposed to be included2210from regression_test.phtml.  This is normal HTML.2211and this is PHP code, 2+2=42212</html>2213********************************2214Tests completed.2215<html>2216<head>2217*** Testing assignments and variable aliasing: ***2218This should read "blah": blah2219This should read "this is nifty": this is nifty2220*************************************************2221*** Testing integer operators ***2222Correct result - 8:  82223Correct result - 8:  82224Correct result - 2:  22225Correct result - -2:  -22226Correct result - 15:  152227Correct result - 15:  152228Correct result - 2:  22229Correct result - 3:  32230*********************************2231*** Testing real operators ***2232Correct result - 8:  82233Correct result - 8:  82234Correct result - 2:  22235Correct result - -2:  -22236Correct result - 15:  152237Correct result - 15:  152238Correct result - 2:  22239Correct result - 3:  32240*********************************2241*** Testing if/elseif/else control ***2242This  works2243this_still_works2244should_print2245*** Seriously nested if's test ***2246** spelling correction by kluzz **2247Only two lines of text should follow:2248this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=02249this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=422503 loop iterations should follow:22512 422523 422534 42254**********************************2255*** C-style else-if's ***2256This should be displayed2257*************************2258*** WHILE tests ***22590 is smaller than 2022601 is smaller than 2022612 is smaller than 2022623 is smaller than 2022634 is smaller than 2022645 is smaller than 2022656 is smaller than 2022667 is smaller than 2022678 is smaller than 2022689 is smaller than 20226910 is smaller than 20227011 is smaller than 20227112 is smaller than 20227213 is smaller than 20227314 is smaller than 20227415 is smaller than 20227516 is smaller than 20227617 is smaller than 20227718 is smaller than 20227819 is smaller than 20227920 equals 20228021 is greater than 20228122 is greater than 20228223 is greater than 20228324 is greater than 20228425 is greater than 20228526 is greater than 20228627 is greater than 20228728 is greater than 20228829 is greater than 20228930 is greater than 20229031 is greater than 20229132 is greater than 20229233 is greater than 20229334 is greater than 20229435 is greater than 20229536 is greater than 20229637 is greater than 20229738 is greater than 20229839 is greater than 202299*******************2300*** Nested WHILEs ***2301Each array variable should be equal to the sum of its indices:2302${test00}[0] = 02303${test00}[1] = 12304${test00}[2] = 22305${test01}[0] = 12306${test01}[1] = 22307${test01}[2] = 32308${test02}[0] = 22309${test02}[1] = 32310${test02}[2] = 42311${test10}[0] = 12312${test10}[1] = 22313${test10}[2] = 32314${test11}[0] = 22315${test11}[1] = 32316${test11}[2] = 42317${test12}[0] = 32318${test12}[1] = 42319${test12}[2] = 52320${test20}[0] = 22321${test20}[1] = 32322${test20}[2] = 42323${test21}[0] = 32324${test21}[1] = 42325${test21}[2] = 52326${test22}[0] = 42327${test22}[1] = 52328${test22}[2] = 62329*********************2330*** hash test... ***2331commented out...2332**************************2333*** Hash resizing test ***2334ba2335baa2336baaa2337baaaa2338baaaaa2339baaaaaa2340baaaaaaa2341baaaaaaaa2342baaaaaaaaa2343baaaaaaaaaa2344ba2345102346baa234792348baaa234982350baaaa235172352baaaaa235362354baaaaaa235552356baaaaaaa235742358baaaaaaaa235932360baaaaaaaaa236122362baaaaaaaaaa236312364**************************2365*** break/continue test ***2366$i should go from 0 to 22367$j should go from 3 to 4, and $q should go from 3 to 42368  $j=32369    $q=32370    $q=42371  $j=42372    $q=32373    $q=42374$j should go from 0 to 22375  $j=02376  $j=12377  $j=22378$k should go from 0 to 22379    $k=02380    $k=12381    $k=22382$i=02383$j should go from 3 to 4, and $q should go from 3 to 42384  $j=32385    $q=32386    $q=42387  $j=42388    $q=32389    $q=42390$j should go from 0 to 22391  $j=02392  $j=12393  $j=22394$k should go from 0 to 22395    $k=02396    $k=12397    $k=22398$i=12399$j should go from 3 to 4, and $q should go from 3 to 42400  $j=32401    $q=32402    $q=42403  $j=42404    $q=32405    $q=42406$j should go from 0 to 22407  $j=02408  $j=12409  $j=22410$k should go from 0 to 22411    $k=02412    $k=12413    $k=22414$i=22415***********************2416*** Nested file include test ***2417<html>2418This is Finish.phtml.  This file is supposed to be included2419from regression_test.phtml.  This is normal HTML.2420and this is PHP code, 2+2=42421</html>2422********************************2423Tests completed.2424<html>2425<head>2426*** Testing assignments and variable aliasing: ***2427This should read "blah": blah2428This should read "this is nifty": this is nifty2429*************************************************2430*** Testing integer operators ***2431Correct result - 8:  82432Correct result - 8:  82433Correct result - 2:  22434Correct result - -2:  -22435Correct result - 15:  152436Correct result - 15:  152437Correct result - 2:  22438Correct result - 3:  32439*********************************2440*** Testing real operators ***2441Correct result - 8:  82442Correct result - 8:  82443Correct result - 2:  22444Correct result - -2:  -22445Correct result - 15:  152446Correct result - 15:  152447Correct result - 2:  22448Correct result - 3:  32449*********************************2450*** Testing if/elseif/else control ***2451This  works2452this_still_works2453should_print2454*** Seriously nested if's test ***2455** spelling correction by kluzz **2456Only two lines of text should follow:2457this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=02458this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=424593 loop iterations should follow:24602 424613 424624 42463**********************************2464*** C-style else-if's ***2465This should be displayed2466*************************2467*** WHILE tests ***24680 is smaller than 2024691 is smaller than 2024702 is smaller than 2024713 is smaller than 2024724 is smaller than 2024735 is smaller than 2024746 is smaller than 2024757 is smaller than 2024768 is smaller than 2024779 is smaller than 20247810 is smaller than 20247911 is smaller than 20248012 is smaller than 20248113 is smaller than 20248214 is smaller than 20248315 is smaller than 20248416 is smaller than 20248517 is smaller than 20248618 is smaller than 20248719 is smaller than 20248820 equals 20248921 is greater than 20249022 is greater than 20249123 is greater than 20249224 is greater than 20249325 is greater than 20249426 is greater than 20249527 is greater than 20249628 is greater than 20249729 is greater than 20249830 is greater than 20249931 is greater than 20250032 is greater than 20250133 is greater than 20250234 is greater than 20250335 is greater than 20250436 is greater than 20250537 is greater than 20250638 is greater than 20250739 is greater than 202508*******************2509*** Nested WHILEs ***2510Each array variable should be equal to the sum of its indices:2511${test00}[0] = 02512${test00}[1] = 12513${test00}[2] = 22514${test01}[0] = 12515${test01}[1] = 22516${test01}[2] = 32517${test02}[0] = 22518${test02}[1] = 32519${test02}[2] = 42520${test10}[0] = 12521${test10}[1] = 22522${test10}[2] = 32523${test11}[0] = 22524${test11}[1] = 32525${test11}[2] = 42526${test12}[0] = 32527${test12}[1] = 42528${test12}[2] = 52529${test20}[0] = 22530${test20}[1] = 32531${test20}[2] = 42532${test21}[0] = 32533${test21}[1] = 42534${test21}[2] = 52535${test22}[0] = 42536${test22}[1] = 52537${test22}[2] = 62538*********************2539*** hash test... ***2540commented out...2541**************************2542*** Hash resizing test ***2543ba2544baa2545baaa2546baaaa2547baaaaa2548baaaaaa2549baaaaaaa2550baaaaaaaa2551baaaaaaaaa2552baaaaaaaaaa2553ba2554102555baa255692557baaa255882559baaaa256072561baaaaa256262563baaaaaa256452565baaaaaaa256642567baaaaaaaa256832569baaaaaaaaa257022571baaaaaaaaaa257212573**************************2574*** break/continue test ***2575$i should go from 0 to 22576$j should go from 3 to 4, and $q should go from 3 to 42577  $j=32578    $q=32579    $q=42580  $j=42581    $q=32582    $q=42583$j should go from 0 to 22584  $j=02585  $j=12586  $j=22587$k should go from 0 to 22588    $k=02589    $k=12590    $k=22591$i=02592$j should go from 3 to 4, and $q should go from 3 to 42593  $j=32594    $q=32595    $q=42596  $j=42597    $q=32598    $q=42599$j should go from 0 to 22600  $j=02601  $j=12602  $j=22603$k should go from 0 to 22604    $k=02605    $k=12606    $k=22607$i=12608$j should go from 3 to 4, and $q should go from 3 to 42609  $j=32610    $q=32611    $q=42612  $j=42613    $q=32614    $q=42615$j should go from 0 to 22616  $j=02617  $j=12618  $j=22619$k should go from 0 to 22620    $k=02621    $k=12622    $k=22623$i=22624***********************2625*** Nested file include test ***2626<html>2627This is Finish.phtml.  This file is supposed to be included2628from regression_test.phtml.  This is normal HTML.2629and this is PHP code, 2+2=42630</html>2631********************************2632Tests completed.2633<html>2634<head>2635*** Testing assignments and variable aliasing: ***2636This should read "blah": blah2637This should read "this is nifty": this is nifty2638*************************************************2639*** Testing integer operators ***2640Correct result - 8:  82641Correct result - 8:  82642Correct result - 2:  22643Correct result - -2:  -22644Correct result - 15:  152645Correct result - 15:  152646Correct result - 2:  22647Correct result - 3:  32648*********************************2649*** Testing real operators ***2650Correct result - 8:  82651Correct result - 8:  82652Correct result - 2:  22653Correct result - -2:  -22654Correct result - 15:  152655Correct result - 15:  152656Correct result - 2:  22657Correct result - 3:  32658*********************************2659*** Testing if/elseif/else control ***2660This  works2661this_still_works2662should_print2663*** Seriously nested if's test ***2664** spelling correction by kluzz **2665Only two lines of text should follow:2666this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=02667this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=426683 loop iterations should follow:26692 426703 426714 42672**********************************2673*** C-style else-if's ***2674This should be displayed2675*************************2676*** WHILE tests ***26770 is smaller than 2026781 is smaller than 2026792 is smaller than 2026803 is smaller than 2026814 is smaller than 2026825 is smaller than 2026836 is smaller than 2026847 is smaller than 2026858 is smaller than 2026869 is smaller than 20268710 is smaller than 20268811 is smaller than 20268912 is smaller than 20269013 is smaller than 20269114 is smaller than 20269215 is smaller than 20269316 is smaller than 20269417 is smaller than 20269518 is smaller than 20269619 is smaller than 20269720 equals 20269821 is greater than 20269922 is greater than 20270023 is greater than 20270124 is greater than 20270225 is greater than 20270326 is greater than 20270427 is greater than 20270528 is greater than 20270629 is greater than 20270730 is greater than 20270831 is greater than 20270932 is greater than 20271033 is greater than 20271134 is greater than 20271235 is greater than 20271336 is greater than 20271437 is greater than 20271538 is greater than 20271639 is greater than 202717*******************2718*** Nested WHILEs ***2719Each array variable should be equal to the sum of its indices:2720${test00}[0] = 02721${test00}[1] = 12722${test00}[2] = 22723${test01}[0] = 12724${test01}[1] = 22725${test01}[2] = 32726${test02}[0] = 22727${test02}[1] = 32728${test02}[2] = 42729${test10}[0] = 12730${test10}[1] = 22731${test10}[2] = 32732${test11}[0] = 22733${test11}[1] = 32734${test11}[2] = 42735${test12}[0] = 32736${test12}[1] = 42737${test12}[2] = 52738${test20}[0] = 22739${test20}[1] = 32740${test20}[2] = 42741${test21}[0] = 32742${test21}[1] = 42743${test21}[2] = 52744${test22}[0] = 42745${test22}[1] = 52746${test22}[2] = 62747*********************2748*** hash test... ***2749commented out...2750**************************2751*** Hash resizing test ***2752ba2753baa2754baaa2755baaaa2756baaaaa2757baaaaaa2758baaaaaaa2759baaaaaaaa2760baaaaaaaaa2761baaaaaaaaaa2762ba2763102764baa276592766baaa276782768baaaa276972770baaaaa277162772baaaaaa277352774baaaaaaa277542776baaaaaaaa277732778baaaaaaaaa277922780baaaaaaaaaa278112782**************************2783*** break/continue test ***2784$i should go from 0 to 22785$j should go from 3 to 4, and $q should go from 3 to 42786  $j=32787    $q=32788    $q=42789  $j=42790    $q=32791    $q=42792$j should go from 0 to 22793  $j=02794  $j=12795  $j=22796$k should go from 0 to 22797    $k=02798    $k=12799    $k=22800$i=02801$j should go from 3 to 4, and $q should go from 3 to 42802  $j=32803    $q=32804    $q=42805  $j=42806    $q=32807    $q=42808$j should go from 0 to 22809  $j=02810  $j=12811  $j=22812$k should go from 0 to 22813    $k=02814    $k=12815    $k=22816$i=12817$j should go from 3 to 4, and $q should go from 3 to 42818  $j=32819    $q=32820    $q=42821  $j=42822    $q=32823    $q=42824$j should go from 0 to 22825  $j=02826  $j=12827  $j=22828$k should go from 0 to 22829    $k=02830    $k=12831    $k=22832$i=22833***********************2834*** Nested file include test ***2835<html>2836This is Finish.phtml.  This file is supposed to be included2837from regression_test.phtml.  This is normal HTML.2838and this is PHP code, 2+2=42839</html>2840********************************2841Tests completed.2842<html>2843<head>2844*** Testing assignments and variable aliasing: ***2845This should read "blah": blah2846This should read "this is nifty": this is nifty2847*************************************************2848*** Testing integer operators ***2849Correct result - 8:  82850Correct result - 8:  82851Correct result - 2:  22852Correct result - -2:  -22853Correct result - 15:  152854Correct result - 15:  152855Correct result - 2:  22856Correct result - 3:  32857*********************************2858*** Testing real operators ***2859Correct result - 8:  82860Correct result - 8:  82861Correct result - 2:  22862Correct result - -2:  -22863Correct result - 15:  152864Correct result - 15:  152865Correct result - 2:  22866Correct result - 3:  32867*********************************2868*** Testing if/elseif/else control ***2869This  works2870this_still_works2871should_print2872*** Seriously nested if's test ***2873** spelling correction by kluzz **2874Only two lines of text should follow:2875this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=02876this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=428773 loop iterations should follow:28782 428793 428804 42881**********************************2882*** C-style else-if's ***2883This should be displayed2884*************************2885*** WHILE tests ***28860 is smaller than 2028871 is smaller than 2028882 is smaller than 2028893 is smaller than 2028904 is smaller than 2028915 is smaller than 2028926 is smaller than 2028937 is smaller than 2028948 is smaller than 2028959 is smaller than 20289610 is smaller than 20289711 is smaller than 20289812 is smaller than 20289913 is smaller than 20290014 is smaller than 20290115 is smaller than 20290216 is smaller than 20290317 is smaller than 20290418 is smaller than 20290519 is smaller than 20290620 equals 20290721 is greater than 20290822 is greater than 20290923 is greater than 20291024 is greater than 20291125 is greater than 20291226 is greater than 20291327 is greater than 20291428 is greater than 20291529 is greater than 20291630 is greater than 20291731 is greater than 20291832 is greater than 20291933 is greater than 20292034 is greater than 20292135 is greater than 20292236 is greater than 20292337 is greater than 20292438 is greater than 20292539 is greater than 202926*******************2927*** Nested WHILEs ***2928Each array variable should be equal to the sum of its indices:2929${test00}[0] = 02930${test00}[1] = 12931${test00}[2] = 22932${test01}[0] = 12933${test01}[1] = 22934${test01}[2] = 32935${test02}[0] = 22936${test02}[1] = 32937${test02}[2] = 42938${test10}[0] = 12939${test10}[1] = 22940${test10}[2] = 32941${test11}[0] = 22942${test11}[1] = 32943${test11}[2] = 42944${test12}[0] = 32945${test12}[1] = 42946${test12}[2] = 52947${test20}[0] = 22948${test20}[1] = 32949${test20}[2] = 42950${test21}[0] = 32951${test21}[1] = 42952${test21}[2] = 52953${test22}[0] = 42954${test22}[1] = 52955${test22}[2] = 62956*********************2957*** hash test... ***2958commented out...2959**************************2960*** Hash resizing test ***2961ba2962baa2963baaa2964baaaa2965baaaaa2966baaaaaa2967baaaaaaa2968baaaaaaaa2969baaaaaaaaa2970baaaaaaaaaa2971ba2972102973baa297492975baaa297682977baaaa297872979baaaaa298062981baaaaaa298252983baaaaaaa298442985baaaaaaaa298632987baaaaaaaaa298822989baaaaaaaaaa299012991**************************2992*** break/continue test ***2993$i should go from 0 to 22994$j should go from 3 to 4, and $q should go from 3 to 42995  $j=32996    $q=32997    $q=42998  $j=42999    $q=33000    $q=43001$j should go from 0 to 23002  $j=03003  $j=13004  $j=23005$k should go from 0 to 23006    $k=03007    $k=13008    $k=23009$i=03010$j should go from 3 to 4, and $q should go from 3 to 43011  $j=33012    $q=33013    $q=43014  $j=43015    $q=33016    $q=43017$j should go from 0 to 23018  $j=03019  $j=13020  $j=23021$k should go from 0 to 23022    $k=03023    $k=13024    $k=23025$i=13026$j should go from 3 to 4, and $q should go from 3 to 43027  $j=33028    $q=33029    $q=43030  $j=43031    $q=33032    $q=43033$j should go from 0 to 23034  $j=03035  $j=13036  $j=23037$k should go from 0 to 23038    $k=03039    $k=13040    $k=23041$i=23042***********************3043*** Nested file include test ***3044<html>3045This is Finish.phtml.  This file is supposed to be included3046from regression_test.phtml.  This is normal HTML.3047and this is PHP code, 2+2=43048</html>3049********************************3050Tests completed.3051<html>3052<head>3053*** Testing assignments and variable aliasing: ***3054This should read "blah": blah3055This should read "this is nifty": this is nifty3056*************************************************3057*** Testing integer operators ***3058Correct result - 8:  83059Correct result - 8:  83060Correct result - 2:  23061Correct result - -2:  -23062Correct result - 15:  153063Correct result - 15:  153064Correct result - 2:  23065Correct result - 3:  33066*********************************3067*** Testing real operators ***3068Correct result - 8:  83069Correct result - 8:  83070Correct result - 2:  23071Correct result - -2:  -23072Correct result - 15:  153073Correct result - 15:  153074Correct result - 2:  23075Correct result - 3:  33076*********************************3077*** Testing if/elseif/else control ***3078This  works3079this_still_works3080should_print3081*** Seriously nested if's test ***3082** spelling correction by kluzz **3083Only two lines of text should follow:3084this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=03085this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=430863 loop iterations should follow:30872 430883 430894 43090**********************************3091*** C-style else-if's ***3092This should be displayed3093*************************3094*** WHILE tests ***30950 is smaller than 2030961 is smaller than 2030972 is smaller than 2030983 is smaller than 2030994 is smaller than 2031005 is smaller than 2031016 is smaller than 2031027 is smaller than 2031038 is smaller than 2031049 is smaller than 20310510 is smaller than 20310611 is smaller than 20310712 is smaller than 20310813 is smaller than 20310914 is smaller than 20311015 is smaller than 20311116 is smaller than 20311217 is smaller than 20311318 is smaller than 20311419 is smaller than 20311520 equals 20311621 is greater than 20311722 is greater than 20311823 is greater than 20311924 is greater than 20312025 is greater than 20312126 is greater than 20312227 is greater than 20312328 is greater than 20312429 is greater than 20312530 is greater than 20312631 is greater than 20312732 is greater than 20312833 is greater than 20312934 is greater than 20313035 is greater than 20313136 is greater than 20313237 is greater than 20313338 is greater than 20313439 is greater than 203135*******************3136*** Nested WHILEs ***3137Each array variable should be equal to the sum of its indices:3138${test00}[0] = 03139${test00}[1] = 13140${test00}[2] = 23141${test01}[0] = 13142${test01}[1] = 23143${test01}[2] = 33144${test02}[0] = 23145${test02}[1] = 33146${test02}[2] = 43147${test10}[0] = 13148${test10}[1] = 23149${test10}[2] = 33150${test11}[0] = 23151${test11}[1] = 33152${test11}[2] = 43153${test12}[0] = 33154${test12}[1] = 43155${test12}[2] = 53156${test20}[0] = 23157${test20}[1] = 33158${test20}[2] = 43159${test21}[0] = 33160${test21}[1] = 43161${test21}[2] = 53162${test22}[0] = 43163${test22}[1] = 53164${test22}[2] = 63165*********************3166*** hash test... ***3167commented out...3168**************************3169*** Hash resizing test ***3170ba3171baa3172baaa3173baaaa3174baaaaa3175baaaaaa3176baaaaaaa3177baaaaaaaa3178baaaaaaaaa3179baaaaaaaaaa3180ba3181103182baa318393184baaa318583186baaaa318773188baaaaa318963190baaaaaa319153192baaaaaaa319343194baaaaaaaa319533196baaaaaaaaa319723198baaaaaaaaaa319913200**************************3201*** break/continue test ***3202$i should go from 0 to 23203$j should go from 3 to 4, and $q should go from 3 to 43204  $j=33205    $q=33206    $q=43207  $j=43208    $q=33209    $q=43210$j should go from 0 to 23211  $j=03212  $j=13213  $j=23214$k should go from 0 to 23215    $k=03216    $k=13217    $k=23218$i=03219$j should go from 3 to 4, and $q should go from 3 to 43220  $j=33221    $q=33222    $q=43223  $j=43224    $q=33225    $q=43226$j should go from 0 to 23227  $j=03228  $j=13229  $j=23230$k should go from 0 to 23231    $k=03232    $k=13233    $k=23234$i=13235$j should go from 3 to 4, and $q should go from 3 to 43236  $j=33237    $q=33238    $q=43239  $j=43240    $q=33241    $q=43242$j should go from 0 to 23243  $j=03244  $j=13245  $j=23246$k should go from 0 to 23247    $k=03248    $k=13249    $k=23250$i=23251***********************3252*** Nested file include test ***3253<html>3254This is Finish.phtml.  This file is supposed to be included3255from regression_test.phtml.  This is normal HTML.3256and this is PHP code, 2+2=43257</html>3258********************************3259Tests completed.3260<html>3261<head>3262*** Testing assignments and variable aliasing: ***3263This should read "blah": blah3264This should read "this is nifty": this is nifty3265*************************************************3266*** Testing integer operators ***3267Correct result - 8:  83268Correct result - 8:  83269Correct result - 2:  23270Correct result - -2:  -23271Correct result - 15:  153272Correct result - 15:  153273Correct result - 2:  23274Correct result - 3:  33275*********************************3276*** Testing real operators ***3277Correct result - 8:  83278Correct result - 8:  83279Correct result - 2:  23280Correct result - -2:  -23281Correct result - 15:  153282Correct result - 15:  153283Correct result - 2:  23284Correct result - 3:  33285*********************************3286*** Testing if/elseif/else control ***3287This  works3288this_still_works3289should_print3290*** Seriously nested if's test ***3291** spelling correction by kluzz **3292Only two lines of text should follow:3293this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=03294this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=432953 loop iterations should follow:32962 432973 432984 43299**********************************3300*** C-style else-if's ***3301This should be displayed3302*************************3303*** WHILE tests ***33040 is smaller than 2033051 is smaller than 2033062 is smaller than 2033073 is smaller than 2033084 is smaller than 2033095 is smaller than 2033106 is smaller than 2033117 is smaller than 2033128 is smaller than 2033139 is smaller than 20331410 is smaller than 20331511 is smaller than 20331612 is smaller than 20331713 is smaller than 20331814 is smaller than 20331915 is smaller than 20332016 is smaller than 20332117 is smaller than 20332218 is smaller than 20332319 is smaller than 20332420 equals 20332521 is greater than 20332622 is greater than 20332723 is greater than 20332824 is greater than 20332925 is greater than 20333026 is greater than 20333127 is greater than 20333228 is greater than 20333329 is greater than 20333430 is greater than 20333531 is greater than 20333632 is greater than 20333733 is greater than 20333834 is greater than 20333935 is greater than 20334036 is greater than 20334137 is greater than 20334238 is greater than 20334339 is greater than 203344*******************3345*** Nested WHILEs ***3346Each array variable should be equal to the sum of its indices:3347${test00}[0] = 03348${test00}[1] = 13349${test00}[2] = 23350${test01}[0] = 13351${test01}[1] = 23352${test01}[2] = 33353${test02}[0] = 23354${test02}[1] = 33355${test02}[2] = 43356${test10}[0] = 13357${test10}[1] = 23358${test10}[2] = 33359${test11}[0] = 23360${test11}[1] = 33361${test11}[2] = 43362${test12}[0] = 33363${test12}[1] = 43364${test12}[2] = 53365${test20}[0] = 23366${test20}[1] = 33367${test20}[2] = 43368${test21}[0] = 33369${test21}[1] = 43370${test21}[2] = 53371${test22}[0] = 43372${test22}[1] = 53373${test22}[2] = 63374*********************3375*** hash test... ***3376commented out...3377**************************3378*** Hash resizing test ***3379ba3380baa3381baaa3382baaaa3383baaaaa3384baaaaaa3385baaaaaaa3386baaaaaaaa3387baaaaaaaaa3388baaaaaaaaaa3389ba3390103391baa339293393baaa339483395baaaa339673397baaaaa339863399baaaaaa340053401baaaaaaa340243403baaaaaaaa340433405baaaaaaaaa340623407baaaaaaaaaa340813409**************************3410*** break/continue test ***3411$i should go from 0 to 23412$j should go from 3 to 4, and $q should go from 3 to 43413  $j=33414    $q=33415    $q=43416  $j=43417    $q=33418    $q=43419$j should go from 0 to 23420  $j=03421  $j=13422  $j=23423$k should go from 0 to 23424    $k=03425    $k=13426    $k=23427$i=03428$j should go from 3 to 4, and $q should go from 3 to 43429  $j=33430    $q=33431    $q=43432  $j=43433    $q=33434    $q=43435$j should go from 0 to 23436  $j=03437  $j=13438  $j=23439$k should go from 0 to 23440    $k=03441    $k=13442    $k=23443$i=13444$j should go from 3 to 4, and $q should go from 3 to 43445  $j=33446    $q=33447    $q=43448  $j=43449    $q=33450    $q=43451$j should go from 0 to 23452  $j=03453  $j=13454  $j=23455$k should go from 0 to 23456    $k=03457    $k=13458    $k=23459$i=23460***********************3461*** Nested file include test ***3462<html>3463This is Finish.phtml.  This file is supposed to be included3464from regression_test.phtml.  This is normal HTML.3465and this is PHP code, 2+2=43466</html>3467********************************3468Tests completed.3469<html>3470<head>3471*** Testing assignments and variable aliasing: ***3472This should read "blah": blah3473This should read "this is nifty": this is nifty3474*************************************************3475*** Testing integer operators ***3476Correct result - 8:  83477Correct result - 8:  83478Correct result - 2:  23479Correct result - -2:  -23480Correct result - 15:  153481Correct result - 15:  153482Correct result - 2:  23483Correct result - 3:  33484*********************************3485*** Testing real operators ***3486Correct result - 8:  83487Correct result - 8:  83488Correct result - 2:  23489Correct result - -2:  -23490Correct result - 15:  153491Correct result - 15:  153492Correct result - 2:  23493Correct result - 3:  33494*********************************3495*** Testing if/elseif/else control ***3496This  works3497this_still_works3498should_print3499*** Seriously nested if's test ***3500** spelling correction by kluzz **3501Only two lines of text should follow:3502this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=03503this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=435043 loop iterations should follow:35052 435063 435074 43508**********************************3509*** C-style else-if's ***3510This should be displayed3511*************************3512*** WHILE tests ***35130 is smaller than 2035141 is smaller than 2035152 is smaller than 2035163 is smaller than 2035174 is smaller than 2035185 is smaller than 2035196 is smaller than 2035207 is smaller than 2035218 is smaller than 2035229 is smaller than 20352310 is smaller than 20352411 is smaller than 20352512 is smaller than 20352613 is smaller than 20352714 is smaller than 20352815 is smaller than 20352916 is smaller than 20353017 is smaller than 20353118 is smaller than 20353219 is smaller than 20353320 equals 20353421 is greater than 20353522 is greater than 20353623 is greater than 20353724 is greater than 20353825 is greater than 20353926 is greater than 20354027 is greater than 20354128 is greater than 20354229 is greater than 20354330 is greater than 20354431 is greater than 20354532 is greater than 20354633 is greater than 20354734 is greater than 20354835 is greater than 20354936 is greater than 20355037 is greater than 20355138 is greater than 20355239 is greater than 203553*******************3554*** Nested WHILEs ***3555Each array variable should be equal to the sum of its indices:3556${test00}[0] = 03557${test00}[1] = 13558${test00}[2] = 23559${test01}[0] = 13560${test01}[1] = 23561${test01}[2] = 33562${test02}[0] = 23563${test02}[1] = 33564${test02}[2] = 43565${test10}[0] = 13566${test10}[1] = 23567${test10}[2] = 33568${test11}[0] = 23569${test11}[1] = 33570${test11}[2] = 43571${test12}[0] = 33572${test12}[1] = 43573${test12}[2] = 53574${test20}[0] = 23575${test20}[1] = 33576${test20}[2] = 43577${test21}[0] = 33578${test21}[1] = 43579${test21}[2] = 53580${test22}[0] = 43581${test22}[1] = 53582${test22}[2] = 63583*********************3584*** hash test... ***3585commented out...3586**************************3587*** Hash resizing test ***3588ba3589baa3590baaa3591baaaa3592baaaaa3593baaaaaa3594baaaaaaa3595baaaaaaaa3596baaaaaaaaa3597baaaaaaaaaa3598ba3599103600baa360193602baaa360383604baaaa360573606baaaaa360763608baaaaaa360953610baaaaaaa361143612baaaaaaaa361333614baaaaaaaaa361523616baaaaaaaaaa361713618**************************3619*** break/continue test ***3620$i should go from 0 to 23621$j should go from 3 to 4, and $q should go from 3 to 43622  $j=33623    $q=33624    $q=43625  $j=43626    $q=33627    $q=43628$j should go from 0 to 23629  $j=03630  $j=13631  $j=23632$k should go from 0 to 23633    $k=03634    $k=13635    $k=23636$i=03637$j should go from 3 to 4, and $q should go from 3 to 43638  $j=33639    $q=33640    $q=43641  $j=43642    $q=33643    $q=43644$j should go from 0 to 23645  $j=03646  $j=13647  $j=23648$k should go from 0 to 23649    $k=03650    $k=13651    $k=23652$i=13653$j should go from 3 to 4, and $q should go from 3 to 43654  $j=33655    $q=33656    $q=43657  $j=43658    $q=33659    $q=43660$j should go from 0 to 23661  $j=03662  $j=13663  $j=23664$k should go from 0 to 23665    $k=03666    $k=13667    $k=23668$i=23669***********************3670*** Nested file include test ***3671<html>3672This is Finish.phtml.  This file is supposed to be included3673from regression_test.phtml.  This is normal HTML.3674and this is PHP code, 2+2=43675</html>3676********************************3677Tests completed.3678<html>3679<head>3680*** Testing assignments and variable aliasing: ***3681This should read "blah": blah3682This should read "this is nifty": this is nifty3683*************************************************3684*** Testing integer operators ***3685Correct result - 8:  83686Correct result - 8:  83687Correct result - 2:  23688Correct result - -2:  -23689Correct result - 15:  153690Correct result - 15:  153691Correct result - 2:  23692Correct result - 3:  33693*********************************3694*** Testing real operators ***3695Correct result - 8:  83696Correct result - 8:  83697Correct result - 2:  23698Correct result - -2:  -23699Correct result - 15:  153700Correct result - 15:  153701Correct result - 2:  23702Correct result - 3:  33703*********************************3704*** Testing if/elseif/else control ***3705This  works3706this_still_works3707should_print3708*** Seriously nested if's test ***3709** spelling correction by kluzz **3710Only two lines of text should follow:3711this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=03712this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=437133 loop iterations should follow:37142 437153 437164 43717**********************************3718*** C-style else-if's ***3719This should be displayed3720*************************3721*** WHILE tests ***37220 is smaller than 2037231 is smaller than 2037242 is smaller than 2037253 is smaller than 2037264 is smaller than 2037275 is smaller than 2037286 is smaller than 2037297 is smaller than 2037308 is smaller than 2037319 is smaller than 20373210 is smaller than 20373311 is smaller than 20373412 is smaller than 20373513 is smaller than 20373614 is smaller than 20373715 is smaller than 20373816 is smaller than 20373917 is smaller than 20374018 is smaller than 20374119 is smaller than 20374220 equals 20374321 is greater than 20374422 is greater than 20374523 is greater than 20374624 is greater than 20374725 is greater than 20374826 is greater than 20374927 is greater than 20375028 is greater than 20375129 is greater than 20375230 is greater than 20375331 is greater than 20375432 is greater than 20375533 is greater than 20375634 is greater than 20375735 is greater than 20375836 is greater than 20375937 is greater than 20376038 is greater than 20376139 is greater than 203762*******************3763*** Nested WHILEs ***3764Each array variable should be equal to the sum of its indices:3765${test00}[0] = 03766${test00}[1] = 13767${test00}[2] = 23768${test01}[0] = 13769${test01}[1] = 23770${test01}[2] = 33771${test02}[0] = 23772${test02}[1] = 33773${test02}[2] = 43774${test10}[0] = 13775${test10}[1] = 23776${test10}[2] = 33777${test11}[0] = 23778${test11}[1] = 33779${test11}[2] = 43780${test12}[0] = 33781${test12}[1] = 43782${test12}[2] = 53783${test20}[0] = 23784${test20}[1] = 33785${test20}[2] = 43786${test21}[0] = 33787${test21}[1] = 43788${test21}[2] = 53789${test22}[0] = 43790${test22}[1] = 53791${test22}[2] = 63792*********************3793*** hash test... ***3794commented out...3795**************************3796*** Hash resizing test ***3797ba3798baa3799baaa3800baaaa3801baaaaa3802baaaaaa3803baaaaaaa3804baaaaaaaa3805baaaaaaaaa3806baaaaaaaaaa3807ba3808103809baa381093811baaa381283813baaaa381473815baaaaa381663817baaaaaa381853819baaaaaaa382043821baaaaaaaa382233823baaaaaaaaa382423825baaaaaaaaaa382613827**************************3828*** break/continue test ***3829$i should go from 0 to 23830$j should go from 3 to 4, and $q should go from 3 to 43831  $j=33832    $q=33833    $q=43834  $j=43835    $q=33836    $q=43837$j should go from 0 to 23838  $j=03839  $j=13840  $j=23841$k should go from 0 to 23842    $k=03843    $k=13844    $k=23845$i=03846$j should go from 3 to 4, and $q should go from 3 to 43847  $j=33848    $q=33849    $q=43850  $j=43851    $q=33852    $q=43853$j should go from 0 to 23854  $j=03855  $j=13856  $j=23857$k should go from 0 to 23858    $k=03859    $k=13860    $k=23861$i=13862$j should go from 3 to 4, and $q should go from 3 to 43863  $j=33864    $q=33865    $q=43866  $j=43867    $q=33868    $q=43869$j should go from 0 to 23870  $j=03871  $j=13872  $j=23873$k should go from 0 to 23874    $k=03875    $k=13876    $k=23877$i=23878***********************3879*** Nested file include test ***3880<html>3881This is Finish.phtml.  This file is supposed to be included3882from regression_test.phtml.  This is normal HTML.3883and this is PHP code, 2+2=43884</html>3885********************************3886Tests completed.3887<html>3888<head>3889*** Testing assignments and variable aliasing: ***3890This should read "blah": blah3891This should read "this is nifty": this is nifty3892*************************************************3893*** Testing integer operators ***3894Correct result - 8:  83895Correct result - 8:  83896Correct result - 2:  23897Correct result - -2:  -23898Correct result - 15:  153899Correct result - 15:  153900Correct result - 2:  23901Correct result - 3:  33902*********************************3903*** Testing real operators ***3904Correct result - 8:  83905Correct result - 8:  83906Correct result - 2:  23907Correct result - -2:  -23908Correct result - 15:  153909Correct result - 15:  153910Correct result - 2:  23911Correct result - 3:  33912*********************************3913*** Testing if/elseif/else control ***3914This  works3915this_still_works3916should_print3917*** Seriously nested if's test ***3918** spelling correction by kluzz **3919Only two lines of text should follow:3920this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=03921this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=439223 loop iterations should follow:39232 439243 439254 43926**********************************3927*** C-style else-if's ***3928This should be displayed3929*************************3930*** WHILE tests ***39310 is smaller than 2039321 is smaller than 2039332 is smaller than 2039343 is smaller than 2039354 is smaller than 2039365 is smaller than 2039376 is smaller than 2039387 is smaller than 2039398 is smaller than 2039409 is smaller than 20394110 is smaller than 20394211 is smaller than 20394312 is smaller than 20394413 is smaller than 20394514 is smaller than 20394615 is smaller than 20394716 is smaller than 20394817 is smaller than 20394918 is smaller than 20395019 is smaller than 20395120 equals 20395221 is greater than 20395322 is greater than 20395423 is greater than 20395524 is greater than 20395625 is greater than 20395726 is greater than 20395827 is greater than 20395928 is greater than 20396029 is greater than 20396130 is greater than 20396231 is greater than 20396332 is greater than 20396433 is greater than 20396534 is greater than 20396635 is greater than 20396736 is greater than 20396837 is greater than 20396938 is greater than 20397039 is greater than 203971*******************3972*** Nested WHILEs ***3973Each array variable should be equal to the sum of its indices:3974${test00}[0] = 03975${test00}[1] = 13976${test00}[2] = 23977${test01}[0] = 13978${test01}[1] = 23979${test01}[2] = 33980${test02}[0] = 23981${test02}[1] = 33982${test02}[2] = 43983${test10}[0] = 13984${test10}[1] = 23985${test10}[2] = 33986${test11}[0] = 23987${test11}[1] = 33988${test11}[2] = 43989${test12}[0] = 33990${test12}[1] = 43991${test12}[2] = 53992${test20}[0] = 23993${test20}[1] = 33994${test20}[2] = 43995${test21}[0] = 33996${test21}[1] = 43997${test21}[2] = 53998${test22}[0] = 43999${test22}[1] = 54000${test22}[2] = 64001*********************4002*** hash test... ***4003commented out...4004**************************4005*** Hash resizing test ***4006ba4007baa4008baaa4009baaaa4010baaaaa4011baaaaaa4012baaaaaaa4013baaaaaaaa4014baaaaaaaaa4015baaaaaaaaaa4016ba4017104018baa401994020baaa402184022baaaa402374024baaaaa402564026baaaaaa402754028baaaaaaa402944030baaaaaaaa403134032baaaaaaaaa403324034baaaaaaaaaa403514036**************************4037*** break/continue test ***4038$i should go from 0 to 24039$j should go from 3 to 4, and $q should go from 3 to 44040  $j=34041    $q=34042    $q=44043  $j=44044    $q=34045    $q=44046$j should go from 0 to 24047  $j=04048  $j=14049  $j=24050$k should go from 0 to 24051    $k=04052    $k=14053    $k=24054$i=04055$j should go from 3 to 4, and $q should go from 3 to 44056  $j=34057    $q=34058    $q=44059  $j=44060    $q=34061    $q=44062$j should go from 0 to 24063  $j=04064  $j=14065  $j=24066$k should go from 0 to 24067    $k=04068    $k=14069    $k=24070$i=14071$j should go from 3 to 4, and $q should go from 3 to 44072  $j=34073    $q=34074    $q=44075  $j=44076    $q=34077    $q=44078$j should go from 0 to 24079  $j=04080  $j=14081  $j=24082$k should go from 0 to 24083    $k=04084    $k=14085    $k=24086$i=24087***********************4088*** Nested file include test ***4089<html>4090This is Finish.phtml.  This file is supposed to be included4091from regression_test.phtml.  This is normal HTML.4092and this is PHP code, 2+2=44093</html>4094********************************4095Tests completed.4096<html>4097<head>4098*** Testing assignments and variable aliasing: ***4099This should read "blah": blah4100This should read "this is nifty": this is nifty4101*************************************************4102*** Testing integer operators ***4103Correct result - 8:  84104Correct result - 8:  84105Correct result - 2:  24106Correct result - -2:  -24107Correct result - 15:  154108Correct result - 15:  154109Correct result - 2:  24110Correct result - 3:  34111*********************************4112*** Testing real operators ***4113Correct result - 8:  84114Correct result - 8:  84115Correct result - 2:  24116Correct result - -2:  -24117Correct result - 15:  154118Correct result - 15:  154119Correct result - 2:  24120Correct result - 3:  34121*********************************4122*** Testing if/elseif/else control ***4123This  works4124this_still_works4125should_print4126*** Seriously nested if's test ***4127** spelling correction by kluzz **4128Only two lines of text should follow:4129this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=04130this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=441313 loop iterations should follow:41322 441333 441344 44135**********************************4136*** C-style else-if's ***4137This should be displayed4138*************************4139*** WHILE tests ***41400 is smaller than 2041411 is smaller than 2041422 is smaller than 2041433 is smaller than 2041444 is smaller than 2041455 is smaller than 2041466 is smaller than 2041477 is smaller than 2041488 is smaller than 2041499 is smaller than 20415010 is smaller than 20415111 is smaller than 20415212 is smaller than 20415313 is smaller than 20415414 is smaller than 20415515 is smaller than 20415616 is smaller than 20415717 is smaller than 20415818 is smaller than 20415919 is smaller than 20416020 equals 20416121 is greater than 20416222 is greater than 20416323 is greater than 20416424 is greater than 20416525 is greater than 20416626 is greater than 20416727 is greater than 20416828 is greater than 20416929 is greater than 20417030 is greater than 20417131 is greater than 20417232 is greater than 20417333 is greater than 20417434 is greater than 20417535 is greater than 20417636 is greater than 20417737 is greater than 20417838 is greater than 20417939 is greater than 204180*******************4181*** Nested WHILEs ***4182Each array variable should be equal to the sum of its indices:4183${test00}[0] = 04184${test00}[1] = 14185${test00}[2] = 24186${test01}[0] = 14187${test01}[1] = 24188${test01}[2] = 34189${test02}[0] = 24190${test02}[1] = 34191${test02}[2] = 44192${test10}[0] = 14193${test10}[1] = 24194${test10}[2] = 34195${test11}[0] = 24196${test11}[1] = 34197${test11}[2] = 44198${test12}[0] = 34199${test12}[1] = 44200${test12}[2] = 54201${test20}[0] = 24202${test20}[1] = 34203${test20}[2] = 44204${test21}[0] = 34205${test21}[1] = 44206${test21}[2] = 54207${test22}[0] = 44208${test22}[1] = 54209${test22}[2] = 64210*********************4211*** hash test... ***4212commented out...4213**************************4214*** Hash resizing test ***4215ba4216baa4217baaa4218baaaa4219baaaaa4220baaaaaa4221baaaaaaa4222baaaaaaaa4223baaaaaaaaa4224baaaaaaaaaa4225ba4226104227baa422894229baaa423084231baaaa423274233baaaaa423464235baaaaaa423654237baaaaaaa423844239baaaaaaaa424034241baaaaaaaaa424224243baaaaaaaaaa424414245**************************4246*** break/continue test ***4247$i should go from 0 to 24248$j should go from 3 to 4, and $q should go from 3 to 44249  $j=34250    $q=34251    $q=44252  $j=44253    $q=34254    $q=44255$j should go from 0 to 24256  $j=04257  $j=14258  $j=24259$k should go from 0 to 24260    $k=04261    $k=14262    $k=24263$i=04264$j should go from 3 to 4, and $q should go from 3 to 44265  $j=34266    $q=34267    $q=44268  $j=44269    $q=34270    $q=44271$j should go from 0 to 24272  $j=04273  $j=14274  $j=24275$k should go from 0 to 24276    $k=04277    $k=14278    $k=24279$i=14280$j should go from 3 to 4, and $q should go from 3 to 44281  $j=34282    $q=34283    $q=44284  $j=44285    $q=34286    $q=44287$j should go from 0 to 24288  $j=04289  $j=14290  $j=24291$k should go from 0 to 24292    $k=04293    $k=14294    $k=24295$i=24296***********************4297*** Nested file include test ***4298<html>4299This is Finish.phtml.  This file is supposed to be included4300from regression_test.phtml.  This is normal HTML.4301and this is PHP code, 2+2=44302</html>4303********************************4304Tests completed.4305<html>4306<head>4307*** Testing assignments and variable aliasing: ***4308This should read "blah": blah4309This should read "this is nifty": this is nifty4310*************************************************4311*** Testing integer operators ***4312Correct result - 8:  84313Correct result - 8:  84314Correct result - 2:  24315Correct result - -2:  -24316Correct result - 15:  154317Correct result - 15:  154318Correct result - 2:  24319Correct result - 3:  34320*********************************4321*** Testing real operators ***4322Correct result - 8:  84323Correct result - 8:  84324Correct result - 2:  24325Correct result - -2:  -24326Correct result - 15:  154327Correct result - 15:  154328Correct result - 2:  24329Correct result - 3:  34330*********************************4331*** Testing if/elseif/else control ***4332This  works4333this_still_works4334should_print4335*** Seriously nested if's test ***4336** spelling correction by kluzz **4337Only two lines of text should follow:4338this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=04339this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=443403 loop iterations should follow:43412 443423 443434 44344**********************************4345*** C-style else-if's ***4346This should be displayed4347*************************4348*** WHILE tests ***43490 is smaller than 2043501 is smaller than 2043512 is smaller than 2043523 is smaller than 2043534 is smaller than 2043545 is smaller than 2043556 is smaller than 2043567 is smaller than 2043578 is smaller than 2043589 is smaller than 20435910 is smaller than 20436011 is smaller than 20436112 is smaller than 20436213 is smaller than 20436314 is smaller than 20436415 is smaller than 20436516 is smaller than 20436617 is smaller than 20436718 is smaller than 20436819 is smaller than 20436920 equals 20437021 is greater than 20437122 is greater than 20437223 is greater than 20437324 is greater than 20437425 is greater than 20437526 is greater than 20437627 is greater than 20437728 is greater than 20437829 is greater than 20437930 is greater than 20438031 is greater than 20438132 is greater than 20438233 is greater than 20438334 is greater than 20438435 is greater than 20438536 is greater than 20438637 is greater than 20438738 is greater than 20438839 is greater than 204389*******************4390*** Nested WHILEs ***4391Each array variable should be equal to the sum of its indices:4392${test00}[0] = 04393${test00}[1] = 14394${test00}[2] = 24395${test01}[0] = 14396${test01}[1] = 24397${test01}[2] = 34398${test02}[0] = 24399${test02}[1] = 34400${test02}[2] = 44401${test10}[0] = 14402${test10}[1] = 24403${test10}[2] = 34404${test11}[0] = 24405${test11}[1] = 34406${test11}[2] = 44407${test12}[0] = 34408${test12}[1] = 44409${test12}[2] = 54410${test20}[0] = 24411${test20}[1] = 34412${test20}[2] = 44413${test21}[0] = 34414${test21}[1] = 44415${test21}[2] = 54416${test22}[0] = 44417${test22}[1] = 54418${test22}[2] = 64419*********************4420*** hash test... ***4421commented out...4422**************************4423*** Hash resizing test ***4424ba4425baa4426baaa4427baaaa4428baaaaa4429baaaaaa4430baaaaaaa4431baaaaaaaa4432baaaaaaaaa4433baaaaaaaaaa4434ba4435104436baa443794438baaa443984440baaaa444174442baaaaa444364444baaaaaa444554446baaaaaaa444744448baaaaaaaa444934450baaaaaaaaa445124452baaaaaaaaaa445314454**************************4455*** break/continue test ***4456$i should go from 0 to 24457$j should go from 3 to 4, and $q should go from 3 to 44458  $j=34459    $q=34460    $q=44461  $j=44462    $q=34463    $q=44464$j should go from 0 to 24465  $j=04466  $j=14467  $j=24468$k should go from 0 to 24469    $k=04470    $k=14471    $k=24472$i=04473$j should go from 3 to 4, and $q should go from 3 to 44474  $j=34475    $q=34476    $q=44477  $j=44478    $q=34479    $q=44480$j should go from 0 to 24481  $j=04482  $j=14483  $j=24484$k should go from 0 to 24485    $k=04486    $k=14487    $k=24488$i=14489$j should go from 3 to 4, and $q should go from 3 to 44490  $j=34491    $q=34492    $q=44493  $j=44494    $q=34495    $q=44496$j should go from 0 to 24497  $j=04498  $j=14499  $j=24500$k should go from 0 to 24501    $k=04502    $k=14503    $k=24504$i=24505***********************4506*** Nested file include test ***4507<html>4508This is Finish.phtml.  This file is supposed to be included4509from regression_test.phtml.  This is normal HTML.4510and this is PHP code, 2+2=44511</html>4512********************************4513Tests completed.4514<html>4515<head>4516*** Testing assignments and variable aliasing: ***4517This should read "blah": blah4518This should read "this is nifty": this is nifty4519*************************************************4520*** Testing integer operators ***4521Correct result - 8:  84522Correct result - 8:  84523Correct result - 2:  24524Correct result - -2:  -24525Correct result - 15:  154526Correct result - 15:  154527Correct result - 2:  24528Correct result - 3:  34529*********************************4530*** Testing real operators ***4531Correct result - 8:  84532Correct result - 8:  84533Correct result - 2:  24534Correct result - -2:  -24535Correct result - 15:  154536Correct result - 15:  154537Correct result - 2:  24538Correct result - 3:  34539*********************************4540*** Testing if/elseif/else control ***4541This  works4542this_still_works4543should_print4544*** Seriously nested if's test ***4545** spelling correction by kluzz **4546Only two lines of text should follow:4547this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=04548this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=445493 loop iterations should follow:45502 445513 445524 44553**********************************4554*** C-style else-if's ***4555This should be displayed4556*************************4557*** WHILE tests ***45580 is smaller than 2045591 is smaller than 2045602 is smaller than 2045613 is smaller than 2045624 is smaller than 2045635 is smaller than 2045646 is smaller than 2045657 is smaller than 2045668 is smaller than 2045679 is smaller than 20456810 is smaller than 20456911 is smaller than 20457012 is smaller than 20457113 is smaller than 20457214 is smaller than 20457315 is smaller than 20457416 is smaller than 20457517 is smaller than 20457618 is smaller than 20457719 is smaller than 20457820 equals 20457921 is greater than 20458022 is greater than 20458123 is greater than 20458224 is greater than 20458325 is greater than 20458426 is greater than 20458527 is greater than 20458628 is greater than 20458729 is greater than 20458830 is greater than 20458931 is greater than 20459032 is greater than 20459133 is greater than 20459234 is greater than 20459335 is greater than 20459436 is greater than 20459537 is greater than 20459638 is greater than 20459739 is greater than 204598*******************4599*** Nested WHILEs ***4600Each array variable should be equal to the sum of its indices:4601${test00}[0] = 04602${test00}[1] = 14603${test00}[2] = 24604${test01}[0] = 14605${test01}[1] = 24606${test01}[2] = 34607${test02}[0] = 24608${test02}[1] = 34609${test02}[2] = 44610${test10}[0] = 14611${test10}[1] = 24612${test10}[2] = 34613${test11}[0] = 24614${test11}[1] = 34615${test11}[2] = 44616${test12}[0] = 34617${test12}[1] = 44618${test12}[2] = 54619${test20}[0] = 24620${test20}[1] = 34621${test20}[2] = 44622${test21}[0] = 34623${test21}[1] = 44624${test21}[2] = 54625${test22}[0] = 44626${test22}[1] = 54627${test22}[2] = 64628*********************4629*** hash test... ***4630commented out...4631**************************4632*** Hash resizing test ***4633ba4634baa4635baaa4636baaaa4637baaaaa4638baaaaaa4639baaaaaaa4640baaaaaaaa4641baaaaaaaaa4642baaaaaaaaaa4643ba4644104645baa464694647baaa464884649baaaa465074651baaaaa465264653baaaaaa465454655baaaaaaa465644657baaaaaaaa465834659baaaaaaaaa466024661baaaaaaaaaa466214663**************************4664*** break/continue test ***4665$i should go from 0 to 24666$j should go from 3 to 4, and $q should go from 3 to 44667  $j=34668    $q=34669    $q=44670  $j=44671    $q=34672    $q=44673$j should go from 0 to 24674  $j=04675  $j=14676  $j=24677$k should go from 0 to 24678    $k=04679    $k=14680    $k=24681$i=04682$j should go from 3 to 4, and $q should go from 3 to 44683  $j=34684    $q=34685    $q=44686  $j=44687    $q=34688    $q=44689$j should go from 0 to 24690  $j=04691  $j=14692  $j=24693$k should go from 0 to 24694    $k=04695    $k=14696    $k=24697$i=14698$j should go from 3 to 4, and $q should go from 3 to 44699  $j=34700    $q=34701    $q=44702  $j=44703    $q=34704    $q=44705$j should go from 0 to 24706  $j=04707  $j=14708  $j=24709$k should go from 0 to 24710    $k=04711    $k=14712    $k=24713$i=24714***********************4715*** Nested file include test ***4716<html>4717This is Finish.phtml.  This file is supposed to be included4718from regression_test.phtml.  This is normal HTML.4719and this is PHP code, 2+2=44720</html>4721********************************4722Tests completed.4723<html>4724<head>4725*** Testing assignments and variable aliasing: ***4726This should read "blah": blah4727This should read "this is nifty": this is nifty4728*************************************************4729*** Testing integer operators ***4730Correct result - 8:  84731Correct result - 8:  84732Correct result - 2:  24733Correct result - -2:  -24734Correct result - 15:  154735Correct result - 15:  154736Correct result - 2:  24737Correct result - 3:  34738*********************************4739*** Testing real operators ***4740Correct result - 8:  84741Correct result - 8:  84742Correct result - 2:  24743Correct result - -2:  -24744Correct result - 15:  154745Correct result - 15:  154746Correct result - 2:  24747Correct result - 3:  34748*********************************4749*** Testing if/elseif/else control ***4750This  works4751this_still_works4752should_print4753*** Seriously nested if's test ***4754** spelling correction by kluzz **4755Only two lines of text should follow:4756this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=04757this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=447583 loop iterations should follow:47592 447603 447614 44762**********************************4763*** C-style else-if's ***4764This should be displayed4765*************************4766*** WHILE tests ***47670 is smaller than 2047681 is smaller than 2047692 is smaller than 2047703 is smaller than 2047714 is smaller than 2047725 is smaller than 2047736 is smaller than 2047747 is smaller than 2047758 is smaller than 2047769 is smaller than 20477710 is smaller than 20477811 is smaller than 20477912 is smaller than 20478013 is smaller than 20478114 is smaller than 20478215 is smaller than 20478316 is smaller than 20478417 is smaller than 20478518 is smaller than 20478619 is smaller than 20478720 equals 20478821 is greater than 20478922 is greater than 20479023 is greater than 20479124 is greater than 20479225 is greater than 20479326 is greater than 20479427 is greater than 20479528 is greater than 20479629 is greater than 20479730 is greater than 20479831 is greater than 20479932 is greater than 20480033 is greater than 20480134 is greater than 20480235 is greater than 20480336 is greater than 20480437 is greater than 20480538 is greater than 20480639 is greater than 204807*******************4808*** Nested WHILEs ***4809Each array variable should be equal to the sum of its indices:4810${test00}[0] = 04811${test00}[1] = 14812${test00}[2] = 24813${test01}[0] = 14814${test01}[1] = 24815${test01}[2] = 34816${test02}[0] = 24817${test02}[1] = 34818${test02}[2] = 44819${test10}[0] = 14820${test10}[1] = 24821${test10}[2] = 34822${test11}[0] = 24823${test11}[1] = 34824${test11}[2] = 44825${test12}[0] = 34826${test12}[1] = 44827${test12}[2] = 54828${test20}[0] = 24829${test20}[1] = 34830${test20}[2] = 44831${test21}[0] = 34832${test21}[1] = 44833${test21}[2] = 54834${test22}[0] = 44835${test22}[1] = 54836${test22}[2] = 64837*********************4838*** hash test... ***4839commented out...4840**************************4841*** Hash resizing test ***4842ba4843baa4844baaa4845baaaa4846baaaaa4847baaaaaa4848baaaaaaa4849baaaaaaaa4850baaaaaaaaa4851baaaaaaaaaa4852ba4853104854baa485594856baaa485784858baaaa485974860baaaaa486164862baaaaaa486354864baaaaaaa486544866baaaaaaaa486734868baaaaaaaaa486924870baaaaaaaaaa487114872**************************4873*** break/continue test ***4874$i should go from 0 to 24875$j should go from 3 to 4, and $q should go from 3 to 44876  $j=34877    $q=34878    $q=44879  $j=44880    $q=34881    $q=44882$j should go from 0 to 24883  $j=04884  $j=14885  $j=24886$k should go from 0 to 24887    $k=04888    $k=14889    $k=24890$i=04891$j should go from 3 to 4, and $q should go from 3 to 44892  $j=34893    $q=34894    $q=44895  $j=44896    $q=34897    $q=44898$j should go from 0 to 24899  $j=04900  $j=14901  $j=24902$k should go from 0 to 24903    $k=04904    $k=14905    $k=24906$i=14907$j should go from 3 to 4, and $q should go from 3 to 44908  $j=34909    $q=34910    $q=44911  $j=44912    $q=34913    $q=44914$j should go from 0 to 24915  $j=04916  $j=14917  $j=24918$k should go from 0 to 24919    $k=04920    $k=14921    $k=24922$i=24923***********************4924*** Nested file include test ***4925<html>4926This is Finish.phtml.  This file is supposed to be included4927from regression_test.phtml.  This is normal HTML.4928and this is PHP code, 2+2=44929</html>4930********************************4931Tests completed.4932<html>4933<head>4934*** Testing assignments and variable aliasing: ***4935This should read "blah": blah4936This should read "this is nifty": this is nifty4937*************************************************4938*** Testing integer operators ***4939Correct result - 8:  84940Correct result - 8:  84941Correct result - 2:  24942Correct result - -2:  -24943Correct result - 15:  154944Correct result - 15:  154945Correct result - 2:  24946Correct result - 3:  34947*********************************4948*** Testing real operators ***4949Correct result - 8:  84950Correct result - 8:  84951Correct result - 2:  24952Correct result - -2:  -24953Correct result - 15:  154954Correct result - 15:  154955Correct result - 2:  24956Correct result - 3:  34957*********************************4958*** Testing if/elseif/else control ***4959This  works4960this_still_works4961should_print4962*** Seriously nested if's test ***4963** spelling correction by kluzz **4964Only two lines of text should follow:4965this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=04966this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=449673 loop iterations should follow:49682 449693 449704 44971**********************************4972*** C-style else-if's ***4973This should be displayed4974*************************4975*** WHILE tests ***49760 is smaller than 2049771 is smaller than 2049782 is smaller than 2049793 is smaller than 2049804 is smaller than 2049815 is smaller than 2049826 is smaller than 2049837 is smaller than 2049848 is smaller than 2049859 is smaller than 20498610 is smaller than 20498711 is smaller than 20498812 is smaller than 20498913 is smaller than 20499014 is smaller than 20499115 is smaller than 20499216 is smaller than 20499317 is smaller than 20499418 is smaller than 20499519 is smaller than 20499620 equals 20499721 is greater than 20499822 is greater than 20499923 is greater than 20500024 is greater than 20500125 is greater than 20500226 is greater than 20500327 is greater than 20500428 is greater than 20500529 is greater than 20500630 is greater than 20500731 is greater than 20500832 is greater than 20500933 is greater than 20501034 is greater than 20501135 is greater than 20501236 is greater than 20501337 is greater than 20501438 is greater than 20501539 is greater than 205016*******************5017*** Nested WHILEs ***5018Each array variable should be equal to the sum of its indices:5019${test00}[0] = 05020${test00}[1] = 15021${test00}[2] = 25022${test01}[0] = 15023${test01}[1] = 25024${test01}[2] = 35025${test02}[0] = 25026${test02}[1] = 35027${test02}[2] = 45028${test10}[0] = 15029${test10}[1] = 25030${test10}[2] = 35031${test11}[0] = 25032${test11}[1] = 35033${test11}[2] = 45034${test12}[0] = 35035${test12}[1] = 45036${test12}[2] = 55037${test20}[0] = 25038${test20}[1] = 35039${test20}[2] = 45040${test21}[0] = 35041${test21}[1] = 45042${test21}[2] = 55043${test22}[0] = 45044${test22}[1] = 55045${test22}[2] = 65046*********************5047*** hash test... ***5048commented out...5049**************************5050*** Hash resizing test ***5051ba5052baa5053baaa5054baaaa5055baaaaa5056baaaaaa5057baaaaaaa5058baaaaaaaa5059baaaaaaaaa5060baaaaaaaaaa5061ba5062105063baa506495065baaa506685067baaaa506875069baaaaa507065071baaaaaa507255073baaaaaaa507445075baaaaaaaa507635077baaaaaaaaa507825079baaaaaaaaaa508015081**************************5082*** break/continue test ***5083$i should go from 0 to 25084$j should go from 3 to 4, and $q should go from 3 to 45085  $j=35086    $q=35087    $q=45088  $j=45089    $q=35090    $q=45091$j should go from 0 to 25092  $j=05093  $j=15094  $j=25095$k should go from 0 to 25096    $k=05097    $k=15098    $k=25099$i=05100$j should go from 3 to 4, and $q should go from 3 to 45101  $j=35102    $q=35103    $q=45104  $j=45105    $q=35106    $q=45107$j should go from 0 to 25108  $j=05109  $j=15110  $j=25111$k should go from 0 to 25112    $k=05113    $k=15114    $k=25115$i=15116$j should go from 3 to 4, and $q should go from 3 to 45117  $j=35118    $q=35119    $q=45120  $j=45121    $q=35122    $q=45123$j should go from 0 to 25124  $j=05125  $j=15126  $j=25127$k should go from 0 to 25128    $k=05129    $k=15130    $k=25131$i=25132***********************5133*** Nested file include test ***5134<html>5135This is Finish.phtml.  This file is supposed to be included5136from regression_test.phtml.  This is normal HTML.5137and this is PHP code, 2+2=45138</html>5139********************************5140Tests completed.5141<html>5142<head>5143*** Testing assignments and variable aliasing: ***5144This should read "blah": blah5145This should read "this is nifty": this is nifty5146*************************************************5147*** Testing integer operators ***5148Correct result - 8:  85149Correct result - 8:  85150Correct result - 2:  25151Correct result - -2:  -25152Correct result - 15:  155153Correct result - 15:  155154Correct result - 2:  25155Correct result - 3:  35156*********************************5157*** Testing real operators ***5158Correct result - 8:  85159Correct result - 8:  85160Correct result - 2:  25161Correct result - -2:  -25162Correct result - 15:  155163Correct result - 15:  155164Correct result - 2:  25165Correct result - 3:  35166*********************************5167*** Testing if/elseif/else control ***5168This  works5169this_still_works5170should_print5171*** Seriously nested if's test ***5172** spelling correction by kluzz **5173Only two lines of text should follow:5174this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=05175this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=451763 loop iterations should follow:51772 451783 451794 45180**********************************5181*** C-style else-if's ***5182This should be displayed5183*************************5184*** WHILE tests ***51850 is smaller than 2051861 is smaller than 2051872 is smaller than 2051883 is smaller than 2051894 is smaller than 2051905 is smaller than 2051916 is smaller than 2051927 is smaller than 2051938 is smaller than 2051949 is smaller than 20519510 is smaller than 20519611 is smaller than 20519712 is smaller than 20519813 is smaller than 20519914 is smaller than 20520015 is smaller than 20520116 is smaller than 20520217 is smaller than 20520318 is smaller than 20520419 is smaller than 20520520 equals 20520621 is greater than 20520722 is greater than 20520823 is greater than 20520924 is greater than 20521025 is greater than 20521126 is greater than 20521227 is greater than 20521328 is greater than 20521429 is greater than 20521530 is greater than 20521631 is greater than 20521732 is greater than 20521833 is greater than 20521934 is greater than 20522035 is greater than 20522136 is greater than 20522237 is greater than 20522338 is greater than 20522439 is greater than 205225*******************5226*** Nested WHILEs ***5227Each array variable should be equal to the sum of its indices:5228${test00}[0] = 05229${test00}[1] = 15230${test00}[2] = 25231${test01}[0] = 15232${test01}[1] = 25233${test01}[2] = 35234${test02}[0] = 25235${test02}[1] = 35236${test02}[2] = 45237${test10}[0] = 15238${test10}[1] = 25239${test10}[2] = 35240${test11}[0] = 25241${test11}[1] = 35242${test11}[2] = 45243${test12}[0] = 35244${test12}[1] = 45245${test12}[2] = 55246${test20}[0] = 25247${test20}[1] = 35248${test20}[2] = 45249${test21}[0] = 35250${test21}[1] = 45251${test21}[2] = 55252${test22}[0] = 45253${test22}[1] = 55254${test22}[2] = 65255*********************5256*** hash test... ***5257commented out...5258**************************5259*** Hash resizing test ***5260ba5261baa5262baaa5263baaaa5264baaaaa5265baaaaaa5266baaaaaaa5267baaaaaaaa5268baaaaaaaaa5269baaaaaaaaaa5270ba5271105272baa527395274baaa527585276baaaa527775278baaaaa527965280baaaaaa528155282baaaaaaa528345284baaaaaaaa528535286baaaaaaaaa528725288baaaaaaaaaa528915290**************************5291*** break/continue test ***5292$i should go from 0 to 25293$j should go from 3 to 4, and $q should go from 3 to 45294  $j=35295    $q=35296    $q=45297  $j=45298    $q=35299    $q=45300$j should go from 0 to 25301  $j=05302  $j=15303  $j=25304$k should go from 0 to 25305    $k=05306    $k=15307    $k=25308$i=05309$j should go from 3 to 4, and $q should go from 3 to 45310  $j=35311    $q=35312    $q=45313  $j=45314    $q=35315    $q=45316$j should go from 0 to 25317  $j=05318  $j=15319  $j=25320$k should go from 0 to 25321    $k=05322    $k=15323    $k=25324$i=15325$j should go from 3 to 4, and $q should go from 3 to 45326  $j=35327    $q=35328    $q=45329  $j=45330    $q=35331    $q=45332$j should go from 0 to 25333  $j=05334  $j=15335  $j=25336$k should go from 0 to 25337    $k=05338    $k=15339    $k=25340$i=25341***********************5342*** Nested file include test ***5343<html>5344This is Finish.phtml.  This file is supposed to be included5345from regression_test.phtml.  This is normal HTML.5346and this is PHP code, 2+2=45347</html>5348********************************5349Tests completed.5350<html>5351<head>5352*** Testing assignments and variable aliasing: ***5353This should read "blah": blah5354This should read "this is nifty": this is nifty5355*************************************************5356*** Testing integer operators ***5357Correct result - 8:  85358Correct result - 8:  85359Correct result - 2:  25360Correct result - -2:  -25361Correct result - 15:  155362Correct result - 15:  155363Correct result - 2:  25364Correct result - 3:  35365*********************************5366*** Testing real operators ***5367Correct result - 8:  85368Correct result - 8:  85369Correct result - 2:  25370Correct result - -2:  -25371Correct result - 15:  155372Correct result - 15:  155373Correct result - 2:  25374Correct result - 3:  35375*********************************5376*** Testing if/elseif/else control ***5377This  works5378this_still_works5379should_print5380*** Seriously nested if's test ***5381** spelling correction by kluzz **5382Only two lines of text should follow:5383this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=05384this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=453853 loop iterations should follow:53862 453873 453884 45389**********************************5390*** C-style else-if's ***5391This should be displayed5392*************************5393*** WHILE tests ***53940 is smaller than 2053951 is smaller than 2053962 is smaller than 2053973 is smaller than 2053984 is smaller than 2053995 is smaller than 2054006 is smaller than 2054017 is smaller than 2054028 is smaller than 2054039 is smaller than 20540410 is smaller than 20540511 is smaller than 20540612 is smaller than 20540713 is smaller than 20540814 is smaller than 20540915 is smaller than 20541016 is smaller than 20541117 is smaller than 20541218 is smaller than 20541319 is smaller than 20541420 equals 20541521 is greater than 20541622 is greater than 20541723 is greater than 20541824 is greater than 20541925 is greater than 20542026 is greater than 20542127 is greater than 20542228 is greater than 20542329 is greater than 20542430 is greater than 20542531 is greater than 20542632 is greater than 20542733 is greater than 20542834 is greater than 20542935 is greater than 20543036 is greater than 20543137 is greater than 20543238 is greater than 20543339 is greater than 205434*******************5435*** Nested WHILEs ***5436Each array variable should be equal to the sum of its indices:5437${test00}[0] = 05438${test00}[1] = 15439${test00}[2] = 25440${test01}[0] = 15441${test01}[1] = 25442${test01}[2] = 35443${test02}[0] = 25444${test02}[1] = 35445${test02}[2] = 45446${test10}[0] = 15447${test10}[1] = 25448${test10}[2] = 35449${test11}[0] = 25450${test11}[1] = 35451${test11}[2] = 45452${test12}[0] = 35453${test12}[1] = 45454${test12}[2] = 55455${test20}[0] = 25456${test20}[1] = 35457${test20}[2] = 45458${test21}[0] = 35459${test21}[1] = 45460${test21}[2] = 55461${test22}[0] = 45462${test22}[1] = 55463${test22}[2] = 65464*********************5465*** hash test... ***5466commented out...5467**************************5468*** Hash resizing test ***5469ba5470baa5471baaa5472baaaa5473baaaaa5474baaaaaa5475baaaaaaa5476baaaaaaaa5477baaaaaaaaa5478baaaaaaaaaa5479ba5480105481baa548295483baaa548485485baaaa548675487baaaaa548865489baaaaaa549055491baaaaaaa549245493baaaaaaaa549435495baaaaaaaaa549625497baaaaaaaaaa549815499**************************5500*** break/continue test ***5501$i should go from 0 to 25502$j should go from 3 to 4, and $q should go from 3 to 45503  $j=35504    $q=35505    $q=45506  $j=45507    $q=35508    $q=45509$j should go from 0 to 25510  $j=05511  $j=15512  $j=25513$k should go from 0 to 25514    $k=05515    $k=15516    $k=25517$i=05518$j should go from 3 to 4, and $q should go from 3 to 45519  $j=35520    $q=35521    $q=45522  $j=45523    $q=35524    $q=45525$j should go from 0 to 25526  $j=05527  $j=15528  $j=25529$k should go from 0 to 25530    $k=05531    $k=15532    $k=25533$i=15534$j should go from 3 to 4, and $q should go from 3 to 45535  $j=35536    $q=35537    $q=45538  $j=45539    $q=35540    $q=45541$j should go from 0 to 25542  $j=05543  $j=15544  $j=25545$k should go from 0 to 25546    $k=05547    $k=15548    $k=25549$i=25550***********************5551*** Nested file include test ***5552<html>5553This is Finish.phtml.  This file is supposed to be included5554from regression_test.phtml.  This is normal HTML.5555and this is PHP code, 2+2=45556</html>5557********************************5558Tests completed.5559<html>5560<head>5561*** Testing assignments and variable aliasing: ***5562This should read "blah": blah5563This should read "this is nifty": this is nifty5564*************************************************5565*** Testing integer operators ***5566Correct result - 8:  85567Correct result - 8:  85568Correct result - 2:  25569Correct result - -2:  -25570Correct result - 15:  155571Correct result - 15:  155572Correct result - 2:  25573Correct result - 3:  35574*********************************5575*** Testing real operators ***5576Correct result - 8:  85577Correct result - 8:  85578Correct result - 2:  25579Correct result - -2:  -25580Correct result - 15:  155581Correct result - 15:  155582Correct result - 2:  25583Correct result - 3:  35584*********************************5585*** Testing if/elseif/else control ***5586This  works5587this_still_works5588should_print5589*** Seriously nested if's test ***5590** spelling correction by kluzz **5591Only two lines of text should follow:5592this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=05593this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=455943 loop iterations should follow:55952 455963 455974 45598**********************************5599*** C-style else-if's ***5600This should be displayed5601*************************5602*** WHILE tests ***56030 is smaller than 2056041 is smaller than 2056052 is smaller than 2056063 is smaller than 2056074 is smaller than 2056085 is smaller than 2056096 is smaller than 2056107 is smaller than 2056118 is smaller than 2056129 is smaller than 20561310 is smaller than 20561411 is smaller than 20561512 is smaller than 20561613 is smaller than 20561714 is smaller than 20561815 is smaller than 20561916 is smaller than 20562017 is smaller than 20562118 is smaller than 20562219 is smaller than 20562320 equals 20562421 is greater than 20562522 is greater than 20562623 is greater than 20562724 is greater than 20562825 is greater than 20562926 is greater than 20563027 is greater than 20563128 is greater than 20563229 is greater than 20563330 is greater than 20563431 is greater than 20563532 is greater than 20563633 is greater than 20563734 is greater than 20563835 is greater than 20563936 is greater than 20564037 is greater than 20564138 is greater than 20564239 is greater than 205643*******************5644*** Nested WHILEs ***5645Each array variable should be equal to the sum of its indices:5646${test00}[0] = 05647${test00}[1] = 15648${test00}[2] = 25649${test01}[0] = 15650${test01}[1] = 25651${test01}[2] = 35652${test02}[0] = 25653${test02}[1] = 35654${test02}[2] = 45655${test10}[0] = 15656${test10}[1] = 25657${test10}[2] = 35658${test11}[0] = 25659${test11}[1] = 35660${test11}[2] = 45661${test12}[0] = 35662${test12}[1] = 45663${test12}[2] = 55664${test20}[0] = 25665${test20}[1] = 35666${test20}[2] = 45667${test21}[0] = 35668${test21}[1] = 45669${test21}[2] = 55670${test22}[0] = 45671${test22}[1] = 55672${test22}[2] = 65673*********************5674*** hash test... ***5675commented out...5676**************************5677*** Hash resizing test ***5678ba5679baa5680baaa5681baaaa5682baaaaa5683baaaaaa5684baaaaaaa5685baaaaaaaa5686baaaaaaaaa5687baaaaaaaaaa5688ba5689105690baa569195692baaa569385694baaaa569575696baaaaa569765698baaaaaa569955700baaaaaaa570145702baaaaaaaa570335704baaaaaaaaa570525706baaaaaaaaaa570715708**************************5709*** break/continue test ***5710$i should go from 0 to 25711$j should go from 3 to 4, and $q should go from 3 to 45712  $j=35713    $q=35714    $q=45715  $j=45716    $q=35717    $q=45718$j should go from 0 to 25719  $j=05720  $j=15721  $j=25722$k should go from 0 to 25723    $k=05724    $k=15725    $k=25726$i=05727$j should go from 3 to 4, and $q should go from 3 to 45728  $j=35729    $q=35730    $q=45731  $j=45732    $q=35733    $q=45734$j should go from 0 to 25735  $j=05736  $j=15737  $j=25738$k should go from 0 to 25739    $k=05740    $k=15741    $k=25742$i=15743$j should go from 3 to 4, and $q should go from 3 to 45744  $j=35745    $q=35746    $q=45747  $j=45748    $q=35749    $q=45750$j should go from 0 to 25751  $j=05752  $j=15753  $j=25754$k should go from 0 to 25755    $k=05756    $k=15757    $k=25758$i=25759***********************5760*** Nested file include test ***5761<html>5762This is Finish.phtml.  This file is supposed to be included5763from regression_test.phtml.  This is normal HTML.5764and this is PHP code, 2+2=45765</html>5766********************************5767Tests completed.5768<html>5769<head>5770*** Testing assignments and variable aliasing: ***5771This should read "blah": blah5772This should read "this is nifty": this is nifty5773*************************************************5774*** Testing integer operators ***5775Correct result - 8:  85776Correct result - 8:  85777Correct result - 2:  25778Correct result - -2:  -25779Correct result - 15:  155780Correct result - 15:  155781Correct result - 2:  25782Correct result - 3:  35783*********************************5784*** Testing real operators ***5785Correct result - 8:  85786Correct result - 8:  85787Correct result - 2:  25788Correct result - -2:  -25789Correct result - 15:  155790Correct result - 15:  155791Correct result - 2:  25792Correct result - 3:  35793*********************************5794*** Testing if/elseif/else control ***5795This  works5796this_still_works5797should_print5798*** Seriously nested if's test ***5799** spelling correction by kluzz **5800Only two lines of text should follow:5801this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=05802this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=458033 loop iterations should follow:58042 458053 458064 45807**********************************5808*** C-style else-if's ***5809This should be displayed5810*************************5811*** WHILE tests ***58120 is smaller than 2058131 is smaller than 2058142 is smaller than 2058153 is smaller than 2058164 is smaller than 2058175 is smaller than 2058186 is smaller than 2058197 is smaller than 2058208 is smaller than 2058219 is smaller than 20582210 is smaller than 20582311 is smaller than 20582412 is smaller than 20582513 is smaller than 20582614 is smaller than 20582715 is smaller than 20582816 is smaller than 20582917 is smaller than 20583018 is smaller than 20583119 is smaller than 20583220 equals 20583321 is greater than 20583422 is greater than 20583523 is greater than 20583624 is greater than 20583725 is greater than 20583826 is greater than 20583927 is greater than 20584028 is greater than 20584129 is greater than 20584230 is greater than 20584331 is greater than 20584432 is greater than 20584533 is greater than 20584634 is greater than 20584735 is greater than 20584836 is greater than 20584937 is greater than 20585038 is greater than 20585139 is greater than 205852*******************5853*** Nested WHILEs ***5854Each array variable should be equal to the sum of its indices:5855${test00}[0] = 05856${test00}[1] = 15857${test00}[2] = 25858${test01}[0] = 15859${test01}[1] = 25860${test01}[2] = 35861${test02}[0] = 25862${test02}[1] = 35863${test02}[2] = 45864${test10}[0] = 15865${test10}[1] = 25866${test10}[2] = 35867${test11}[0] = 25868${test11}[1] = 35869${test11}[2] = 45870${test12}[0] = 35871${test12}[1] = 45872${test12}[2] = 55873${test20}[0] = 25874${test20}[1] = 35875${test20}[2] = 45876${test21}[0] = 35877${test21}[1] = 45878${test21}[2] = 55879${test22}[0] = 45880${test22}[1] = 55881${test22}[2] = 65882*********************5883*** hash test... ***5884commented out...5885**************************5886*** Hash resizing test ***5887ba5888baa5889baaa5890baaaa5891baaaaa5892baaaaaa5893baaaaaaa5894baaaaaaaa5895baaaaaaaaa5896baaaaaaaaaa5897ba5898105899baa590095901baaa590285903baaaa590475905baaaaa590665907baaaaaa590855909baaaaaaa591045911baaaaaaaa591235913baaaaaaaaa591425915baaaaaaaaaa591615917**************************5918*** break/continue test ***5919$i should go from 0 to 25920$j should go from 3 to 4, and $q should go from 3 to 45921  $j=35922    $q=35923    $q=45924  $j=45925    $q=35926    $q=45927$j should go from 0 to 25928  $j=05929  $j=15930  $j=25931$k should go from 0 to 25932    $k=05933    $k=15934    $k=25935$i=05936$j should go from 3 to 4, and $q should go from 3 to 45937  $j=35938    $q=35939    $q=45940  $j=45941    $q=35942    $q=45943$j should go from 0 to 25944  $j=05945  $j=15946  $j=25947$k should go from 0 to 25948    $k=05949    $k=15950    $k=25951$i=15952$j should go from 3 to 4, and $q should go from 3 to 45953  $j=35954    $q=35955    $q=45956  $j=45957    $q=35958    $q=45959$j should go from 0 to 25960  $j=05961  $j=15962  $j=25963$k should go from 0 to 25964    $k=05965    $k=15966    $k=25967$i=25968***********************5969*** Nested file include test ***5970<html>5971This is Finish.phtml.  This file is supposed to be included5972from regression_test.phtml.  This is normal HTML.5973and this is PHP code, 2+2=45974</html>5975********************************5976Tests completed.5977<html>5978<head>5979*** Testing assignments and variable aliasing: ***5980This should read "blah": blah5981This should read "this is nifty": this is nifty5982*************************************************5983*** Testing integer operators ***5984Correct result - 8:  85985Correct result - 8:  85986Correct result - 2:  25987Correct result - -2:  -25988Correct result - 15:  155989Correct result - 15:  155990Correct result - 2:  25991Correct result - 3:  35992*********************************5993*** Testing real operators ***5994Correct result - 8:  85995Correct result - 8:  85996Correct result - 2:  25997Correct result - -2:  -25998Correct result - 15:  155999Correct result - 15:  156000Correct result - 2:  26001Correct result - 3:  36002*********************************6003*** Testing if/elseif/else control ***6004This  works6005this_still_works6006should_print6007*** Seriously nested if's test ***6008** spelling correction by kluzz **6009Only two lines of text should follow:6010this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=06011this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=460123 loop iterations should follow:60132 460143 460154 46016**********************************6017*** C-style else-if's ***6018This should be displayed6019*************************6020*** WHILE tests ***60210 is smaller than 2060221 is smaller than 2060232 is smaller than 2060243 is smaller than 2060254 is smaller than 2060265 is smaller than 2060276 is smaller than 2060287 is smaller than 2060298 is smaller than 2060309 is smaller than 20603110 is smaller than 20603211 is smaller than 20603312 is smaller than 20603413 is smaller than 20603514 is smaller than 20603615 is smaller than 20603716 is smaller than 20603817 is smaller than 20603918 is smaller than 20604019 is smaller than 20604120 equals 20604221 is greater than 20604322 is greater than 20604423 is greater than 20604524 is greater than 20604625 is greater than 20604726 is greater than 20604827 is greater than 20604928 is greater than 20605029 is greater than 20605130 is greater than 20605231 is greater than 20605332 is greater than 20605433 is greater than 20605534 is greater than 20605635 is greater than 20605736 is greater than 20605837 is greater than 20605938 is greater than 20606039 is greater than 206061*******************6062*** Nested WHILEs ***6063Each array variable should be equal to the sum of its indices:6064${test00}[0] = 06065${test00}[1] = 16066${test00}[2] = 26067${test01}[0] = 16068${test01}[1] = 26069${test01}[2] = 36070${test02}[0] = 26071${test02}[1] = 36072${test02}[2] = 46073${test10}[0] = 16074${test10}[1] = 26075${test10}[2] = 36076${test11}[0] = 26077${test11}[1] = 36078${test11}[2] = 46079${test12}[0] = 36080${test12}[1] = 46081${test12}[2] = 56082${test20}[0] = 26083${test20}[1] = 36084${test20}[2] = 46085${test21}[0] = 36086${test21}[1] = 46087${test21}[2] = 56088${test22}[0] = 46089${test22}[1] = 56090${test22}[2] = 66091*********************6092*** hash test... ***6093commented out...6094**************************6095*** Hash resizing test ***6096ba6097baa6098baaa6099baaaa6100baaaaa6101baaaaaa6102baaaaaaa6103baaaaaaaa6104baaaaaaaaa6105baaaaaaaaaa6106ba6107106108baa610996110baaa611186112baaaa611376114baaaaa611566116baaaaaa611756118baaaaaaa611946120baaaaaaaa612136122baaaaaaaaa612326124baaaaaaaaaa612516126**************************6127*** break/continue test ***6128$i should go from 0 to 26129$j should go from 3 to 4, and $q should go from 3 to 46130  $j=36131    $q=36132    $q=46133  $j=46134    $q=36135    $q=46136$j should go from 0 to 26137  $j=06138  $j=16139  $j=26140$k should go from 0 to 26141    $k=06142    $k=16143    $k=26144$i=06145$j should go from 3 to 4, and $q should go from 3 to 46146  $j=36147    $q=36148    $q=46149  $j=46150    $q=36151    $q=46152$j should go from 0 to 26153  $j=06154  $j=16155  $j=26156$k should go from 0 to 26157    $k=06158    $k=16159    $k=26160$i=16161$j should go from 3 to 4, and $q should go from 3 to 46162  $j=36163    $q=36164    $q=46165  $j=46166    $q=36167    $q=46168$j should go from 0 to 26169  $j=06170  $j=16171  $j=26172$k should go from 0 to 26173    $k=06174    $k=16175    $k=26176$i=26177***********************6178*** Nested file include test ***6179<html>6180This is Finish.phtml.  This file is supposed to be included6181from regression_test.phtml.  This is normal HTML.6182and this is PHP code, 2+2=46183</html>6184********************************6185Tests completed.6186<html>6187<head>6188*** Testing assignments and variable aliasing: ***6189This should read "blah": blah6190This should read "this is nifty": this is nifty6191*************************************************6192*** Testing integer operators ***6193Correct result - 8:  86194Correct result - 8:  86195Correct result - 2:  26196Correct result - -2:  -26197Correct result - 15:  156198Correct result - 15:  156199Correct result - 2:  26200Correct result - 3:  36201*********************************6202*** Testing real operators ***6203Correct result - 8:  86204Correct result - 8:  86205Correct result - 2:  26206Correct result - -2:  -26207Correct result - 15:  156208Correct result - 15:  156209Correct result - 2:  26210Correct result - 3:  36211*********************************6212*** Testing if/elseif/else control ***6213This  works6214this_still_works6215should_print6216*** Seriously nested if's test ***6217** spelling correction by kluzz **6218Only two lines of text should follow:6219this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=06220this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=462213 loop iterations should follow:62222 462233 462244 46225**********************************6226*** C-style else-if's ***6227This should be displayed6228*************************6229*** WHILE tests ***62300 is smaller than 2062311 is smaller than 2062322 is smaller than 2062333 is smaller than 2062344 is smaller than 2062355 is smaller than 2062366 is smaller than 2062377 is smaller than 2062388 is smaller than 2062399 is smaller than 20624010 is smaller than 20624111 is smaller than 20624212 is smaller than 20624313 is smaller than 20624414 is smaller than 20624515 is smaller than 20624616 is smaller than 20624717 is smaller than 20624818 is smaller than 20624919 is smaller than 20625020 equals 20625121 is greater than 20625222 is greater than 20625323 is greater than 20625424 is greater than 20625525 is greater than 20625626 is greater than 20625727 is greater than 20625828 is greater than 20625929 is greater than 20626030 is greater than 20626131 is greater than 20626232 is greater than 20626333 is greater than 20626434 is greater than 20626535 is greater than 20626636 is greater than 20626737 is greater than 20626838 is greater than 20626939 is greater than 206270*******************6271*** Nested WHILEs ***6272Each array variable should be equal to the sum of its indices:6273${test00}[0] = 06274${test00}[1] = 16275${test00}[2] = 26276${test01}[0] = 16277${test01}[1] = 26278${test01}[2] = 36279${test02}[0] = 26280${test02}[1] = 36281${test02}[2] = 46282${test10}[0] = 16283${test10}[1] = 26284${test10}[2] = 36285${test11}[0] = 26286${test11}[1] = 36287${test11}[2] = 46288${test12}[0] = 36289${test12}[1] = 46290${test12}[2] = 56291${test20}[0] = 26292${test20}[1] = 36293${test20}[2] = 46294${test21}[0] = 36295${test21}[1] = 46296${test21}[2] = 56297${test22}[0] = 46298${test22}[1] = 56299${test22}[2] = 66300*********************6301*** hash test... ***6302commented out...6303**************************6304*** Hash resizing test ***6305ba6306baa6307baaa6308baaaa6309baaaaa6310baaaaaa6311baaaaaaa6312baaaaaaaa6313baaaaaaaaa6314baaaaaaaaaa6315ba6316106317baa631896319baaa632086321baaaa632276323baaaaa632466325baaaaaa632656327baaaaaaa632846329baaaaaaaa633036331baaaaaaaaa633226333baaaaaaaaaa633416335**************************6336*** break/continue test ***6337$i should go from 0 to 26338$j should go from 3 to 4, and $q should go from 3 to 46339  $j=36340    $q=36341    $q=46342  $j=46343    $q=36344    $q=46345$j should go from 0 to 26346  $j=06347  $j=16348  $j=26349$k should go from 0 to 26350    $k=06351    $k=16352    $k=26353$i=06354$j should go from 3 to 4, and $q should go from 3 to 46355  $j=36356    $q=36357    $q=46358  $j=46359    $q=36360    $q=46361$j should go from 0 to 26362  $j=06363  $j=16364  $j=26365$k should go from 0 to 26366    $k=06367    $k=16368    $k=26369$i=16370$j should go from 3 to 4, and $q should go from 3 to 46371  $j=36372    $q=36373    $q=46374  $j=46375    $q=36376    $q=46377$j should go from 0 to 26378  $j=06379  $j=16380  $j=26381$k should go from 0 to 26382    $k=06383    $k=16384    $k=26385$i=26386***********************6387*** Nested file include test ***6388<html>6389This is Finish.phtml.  This file is supposed to be included6390from regression_test.phtml.  This is normal HTML.6391and this is PHP code, 2+2=46392</html>6393********************************6394Tests completed.6395<html>6396<head>6397*** Testing assignments and variable aliasing: ***6398This should read "blah": blah6399This should read "this is nifty": this is nifty6400*************************************************6401*** Testing integer operators ***6402Correct result - 8:  86403Correct result - 8:  86404Correct result - 2:  26405Correct result - -2:  -26406Correct result - 15:  156407Correct result - 15:  156408Correct result - 2:  26409Correct result - 3:  36410*********************************6411*** Testing real operators ***6412Correct result - 8:  86413Correct result - 8:  86414Correct result - 2:  26415Correct result - -2:  -26416Correct result - 15:  156417Correct result - 15:  156418Correct result - 2:  26419Correct result - 3:  36420*********************************6421*** Testing if/elseif/else control ***6422This  works6423this_still_works6424should_print6425*** Seriously nested if's test ***6426** spelling correction by kluzz **6427Only two lines of text should follow:6428this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=06429this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=464303 loop iterations should follow:64312 464323 464334 46434**********************************6435*** C-style else-if's ***6436This should be displayed6437*************************6438*** WHILE tests ***64390 is smaller than 2064401 is smaller than 2064412 is smaller than 2064423 is smaller than 2064434 is smaller than 2064445 is smaller than 2064456 is smaller than 2064467 is smaller than 2064478 is smaller than 2064489 is smaller than 20644910 is smaller than 20645011 is smaller than 20645112 is smaller than 20645213 is smaller than 20645314 is smaller than 20645415 is smaller than 20645516 is smaller than 20645617 is smaller than 20645718 is smaller than 20645819 is smaller than 20645920 equals 20646021 is greater than 20646122 is greater than 20646223 is greater than 20646324 is greater than 20646425 is greater than 20646526 is greater than 20646627 is greater than 20646728 is greater than 20646829 is greater than 20646930 is greater than 20647031 is greater than 20647132 is greater than 20647233 is greater than 20647334 is greater than 20647435 is greater than 20647536 is greater than 20647637 is greater than 20647738 is greater than 20647839 is greater than 206479*******************6480*** Nested WHILEs ***6481Each array variable should be equal to the sum of its indices:6482${test00}[0] = 06483${test00}[1] = 16484${test00}[2] = 26485${test01}[0] = 16486${test01}[1] = 26487${test01}[2] = 36488${test02}[0] = 26489${test02}[1] = 36490${test02}[2] = 46491${test10}[0] = 16492${test10}[1] = 26493${test10}[2] = 36494${test11}[0] = 26495${test11}[1] = 36496${test11}[2] = 46497${test12}[0] = 36498${test12}[1] = 46499${test12}[2] = 56500${test20}[0] = 26501${test20}[1] = 36502${test20}[2] = 46503${test21}[0] = 36504${test21}[1] = 46505${test21}[2] = 56506${test22}[0] = 46507${test22}[1] = 56508${test22}[2] = 66509*********************6510*** hash test... ***6511commented out...6512**************************6513*** Hash resizing test ***6514ba6515baa6516baaa6517baaaa6518baaaaa6519baaaaaa6520baaaaaaa6521baaaaaaaa6522baaaaaaaaa6523baaaaaaaaaa6524ba6525106526baa652796528baaa652986530baaaa653176532baaaaa653366534baaaaaa653556536baaaaaaa653746538baaaaaaaa653936540baaaaaaaaa654126542baaaaaaaaaa654316544**************************6545*** break/continue test ***6546$i should go from 0 to 26547$j should go from 3 to 4, and $q should go from 3 to 46548  $j=36549    $q=36550    $q=46551  $j=46552    $q=36553    $q=46554$j should go from 0 to 26555  $j=06556  $j=16557  $j=26558$k should go from 0 to 26559    $k=06560    $k=16561    $k=26562$i=06563$j should go from 3 to 4, and $q should go from 3 to 46564  $j=36565    $q=36566    $q=46567  $j=46568    $q=36569    $q=46570$j should go from 0 to 26571  $j=06572  $j=16573  $j=26574$k should go from 0 to 26575    $k=06576    $k=16577    $k=26578$i=16579$j should go from 3 to 4, and $q should go from 3 to 46580  $j=36581    $q=36582    $q=46583  $j=46584    $q=36585    $q=46586$j should go from 0 to 26587  $j=06588  $j=16589  $j=26590$k should go from 0 to 26591    $k=06592    $k=16593    $k=26594$i=26595***********************6596*** Nested file include test ***6597<html>6598This is Finish.phtml.  This file is supposed to be included6599from regression_test.phtml.  This is normal HTML.6600and this is PHP code, 2+2=46601</html>6602********************************6603Tests completed.6604<html>6605<head>6606*** Testing assignments and variable aliasing: ***6607This should read "blah": blah6608This should read "this is nifty": this is nifty6609*************************************************6610*** Testing integer operators ***6611Correct result - 8:  86612Correct result - 8:  86613Correct result - 2:  26614Correct result - -2:  -26615Correct result - 15:  156616Correct result - 15:  156617Correct result - 2:  26618Correct result - 3:  36619*********************************6620*** Testing real operators ***6621Correct result - 8:  86622Correct result - 8:  86623Correct result - 2:  26624Correct result - -2:  -26625Correct result - 15:  156626Correct result - 15:  156627Correct result - 2:  26628Correct result - 3:  36629*********************************6630*** Testing if/elseif/else control ***6631This  works6632this_still_works6633should_print6634*** Seriously nested if's test ***6635** spelling correction by kluzz **6636Only two lines of text should follow:6637this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=06638this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=466393 loop iterations should follow:66402 466413 466424 46643**********************************6644*** C-style else-if's ***6645This should be displayed6646*************************6647*** WHILE tests ***66480 is smaller than 2066491 is smaller than 2066502 is smaller than 2066513 is smaller than 2066524 is smaller than 2066535 is smaller than 2066546 is smaller than 2066557 is smaller than 2066568 is smaller than 2066579 is smaller than 20665810 is smaller than 20665911 is smaller than 20666012 is smaller than 20666113 is smaller than 20666214 is smaller than 20666315 is smaller than 20666416 is smaller than 20666517 is smaller than 20666618 is smaller than 20666719 is smaller than 20666820 equals 20666921 is greater than 20667022 is greater than 20667123 is greater than 20667224 is greater than 20667325 is greater than 20667426 is greater than 20667527 is greater than 20667628 is greater than 20667729 is greater than 20667830 is greater than 20667931 is greater than 20668032 is greater than 20668133 is greater than 20668234 is greater than 20668335 is greater than 20668436 is greater than 20668537 is greater than 20668638 is greater than 20668739 is greater than 206688*******************6689*** Nested WHILEs ***6690Each array variable should be equal to the sum of its indices:6691${test00}[0] = 06692${test00}[1] = 16693${test00}[2] = 26694${test01}[0] = 16695${test01}[1] = 26696${test01}[2] = 36697${test02}[0] = 26698${test02}[1] = 36699${test02}[2] = 46700${test10}[0] = 16701${test10}[1] = 26702${test10}[2] = 36703${test11}[0] = 26704${test11}[1] = 36705${test11}[2] = 46706${test12}[0] = 36707${test12}[1] = 46708${test12}[2] = 56709${test20}[0] = 26710${test20}[1] = 36711${test20}[2] = 46712${test21}[0] = 36713${test21}[1] = 46714${test21}[2] = 56715${test22}[0] = 46716${test22}[1] = 56717${test22}[2] = 66718*********************6719*** hash test... ***6720commented out...6721**************************6722*** Hash resizing test ***6723ba6724baa6725baaa6726baaaa6727baaaaa6728baaaaaa6729baaaaaaa6730baaaaaaaa6731baaaaaaaaa6732baaaaaaaaaa6733ba6734106735baa673696737baaa673886739baaaa674076741baaaaa674266743baaaaaa674456745baaaaaaa674646747baaaaaaaa674836749baaaaaaaaa675026751baaaaaaaaaa675216753**************************6754*** break/continue test ***6755$i should go from 0 to 26756$j should go from 3 to 4, and $q should go from 3 to 46757  $j=36758    $q=36759    $q=46760  $j=46761    $q=36762    $q=46763$j should go from 0 to 26764  $j=06765  $j=16766  $j=26767$k should go from 0 to 26768    $k=06769    $k=16770    $k=26771$i=06772$j should go from 3 to 4, and $q should go from 3 to 46773  $j=36774    $q=36775    $q=46776  $j=46777    $q=36778    $q=46779$j should go from 0 to 26780  $j=06781  $j=16782  $j=26783$k should go from 0 to 26784    $k=06785    $k=16786    $k=26787$i=16788$j should go from 3 to 4, and $q should go from 3 to 46789  $j=36790    $q=36791    $q=46792  $j=46793    $q=36794    $q=46795$j should go from 0 to 26796  $j=06797  $j=16798  $j=26799$k should go from 0 to 26800    $k=06801    $k=16802    $k=26803$i=26804***********************6805*** Nested file include test ***6806<html>6807This is Finish.phtml.  This file is supposed to be included6808from regression_test.phtml.  This is normal HTML.6809and this is PHP code, 2+2=46810</html>6811********************************6812Tests completed.6813<html>6814<head>6815*** Testing assignments and variable aliasing: ***6816This should read "blah": blah6817This should read "this is nifty": this is nifty6818*************************************************6819*** Testing integer operators ***6820Correct result - 8:  86821Correct result - 8:  86822Correct result - 2:  26823Correct result - -2:  -26824Correct result - 15:  156825Correct result - 15:  156826Correct result - 2:  26827Correct result - 3:  36828*********************************6829*** Testing real operators ***6830Correct result - 8:  86831Correct result - 8:  86832Correct result - 2:  26833Correct result - -2:  -26834Correct result - 15:  156835Correct result - 15:  156836Correct result - 2:  26837Correct result - 3:  36838*********************************6839*** Testing if/elseif/else control ***6840This  works6841this_still_works6842should_print6843*** Seriously nested if's test ***6844** spelling correction by kluzz **6845Only two lines of text should follow:6846this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=06847this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=468483 loop iterations should follow:68492 468503 468514 46852**********************************6853*** C-style else-if's ***6854This should be displayed6855*************************6856*** WHILE tests ***68570 is smaller than 2068581 is smaller than 2068592 is smaller than 2068603 is smaller than 2068614 is smaller than 2068625 is smaller than 2068636 is smaller than 2068647 is smaller than 2068658 is smaller than 2068669 is smaller than 20686710 is smaller than 20686811 is smaller than 20686912 is smaller than 20687013 is smaller than 20687114 is smaller than 20687215 is smaller than 20687316 is smaller than 20687417 is smaller than 20687518 is smaller than 20687619 is smaller than 20687720 equals 20687821 is greater than 20687922 is greater than 20688023 is greater than 20688124 is greater than 20688225 is greater than 20688326 is greater than 20688427 is greater than 20688528 is greater than 20688629 is greater than 20688730 is greater than 20688831 is greater than 20688932 is greater than 20689033 is greater than 20689134 is greater than 20689235 is greater than 20689336 is greater than 20689437 is greater than 20689538 is greater than 20689639 is greater than 206897*******************6898*** Nested WHILEs ***6899Each array variable should be equal to the sum of its indices:6900${test00}[0] = 06901${test00}[1] = 16902${test00}[2] = 26903${test01}[0] = 16904${test01}[1] = 26905${test01}[2] = 36906${test02}[0] = 26907${test02}[1] = 36908${test02}[2] = 46909${test10}[0] = 16910${test10}[1] = 26911${test10}[2] = 36912${test11}[0] = 26913${test11}[1] = 36914${test11}[2] = 46915${test12}[0] = 36916${test12}[1] = 46917${test12}[2] = 56918${test20}[0] = 26919${test20}[1] = 36920${test20}[2] = 46921${test21}[0] = 36922${test21}[1] = 46923${test21}[2] = 56924${test22}[0] = 46925${test22}[1] = 56926${test22}[2] = 66927*********************6928*** hash test... ***6929commented out...6930**************************6931*** Hash resizing test ***6932ba6933baa6934baaa6935baaaa6936baaaaa6937baaaaaa6938baaaaaaa6939baaaaaaaa6940baaaaaaaaa6941baaaaaaaaaa6942ba6943106944baa694596946baaa694786948baaaa694976950baaaaa695166952baaaaaa695356954baaaaaaa695546956baaaaaaaa695736958baaaaaaaaa695926960baaaaaaaaaa696116962**************************6963*** break/continue test ***6964$i should go from 0 to 26965$j should go from 3 to 4, and $q should go from 3 to 46966  $j=36967    $q=36968    $q=46969  $j=46970    $q=36971    $q=46972$j should go from 0 to 26973  $j=06974  $j=16975  $j=26976$k should go from 0 to 26977    $k=06978    $k=16979    $k=26980$i=06981$j should go from 3 to 4, and $q should go from 3 to 46982  $j=36983    $q=36984    $q=46985  $j=46986    $q=36987    $q=46988$j should go from 0 to 26989  $j=06990  $j=16991  $j=26992$k should go from 0 to 26993    $k=06994    $k=16995    $k=26996$i=16997$j should go from 3 to 4, and $q should go from 3 to 46998  $j=36999    $q=37000    $q=47001  $j=47002    $q=37003    $q=47004$j should go from 0 to 27005  $j=07006  $j=17007  $j=27008$k should go from 0 to 27009    $k=07010    $k=17011    $k=27012$i=27013***********************7014*** Nested file include test ***7015<html>7016This is Finish.phtml.  This file is supposed to be included7017from regression_test.phtml.  This is normal HTML.7018and this is PHP code, 2+2=47019</html>7020********************************7021Tests completed.7022<html>7023<head>7024*** Testing assignments and variable aliasing: ***7025This should read "blah": blah7026This should read "this is nifty": this is nifty7027*************************************************7028*** Testing integer operators ***7029Correct result - 8:  87030Correct result - 8:  87031Correct result - 2:  27032Correct result - -2:  -27033Correct result - 15:  157034Correct result - 15:  157035Correct result - 2:  27036Correct result - 3:  37037*********************************7038*** Testing real operators ***7039Correct result - 8:  87040Correct result - 8:  87041Correct result - 2:  27042Correct result - -2:  -27043Correct result - 15:  157044Correct result - 15:  157045Correct result - 2:  27046Correct result - 3:  37047*********************************7048*** Testing if/elseif/else control ***7049This  works7050this_still_works7051should_print7052*** Seriously nested if's test ***7053** spelling correction by kluzz **7054Only two lines of text should follow:7055this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=07056this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=470573 loop iterations should follow:70582 470593 470604 47061**********************************7062*** C-style else-if's ***7063This should be displayed7064*************************7065*** WHILE tests ***70660 is smaller than 2070671 is smaller than 2070682 is smaller than 2070693 is smaller than 2070704 is smaller than 2070715 is smaller than 2070726 is smaller than 2070737 is smaller than 2070748 is smaller than 2070759 is smaller than 20707610 is smaller than 20707711 is smaller than 20707812 is smaller than 20707913 is smaller than 20708014 is smaller than 20708115 is smaller than 20708216 is smaller than 20708317 is smaller than 20708418 is smaller than 20708519 is smaller than 20708620 equals 20708721 is greater than 20708822 is greater than 20708923 is greater than 20709024 is greater than 20709125 is greater than 20709226 is greater than 20709327 is greater than 20709428 is greater than 20709529 is greater than 20709630 is greater than 20709731 is greater than 20709832 is greater than 20709933 is greater than 20710034 is greater than 20710135 is greater than 20710236 is greater than 20710337 is greater than 20710438 is greater than 20710539 is greater than 207106*******************7107*** Nested WHILEs ***7108Each array variable should be equal to the sum of its indices:7109${test00}[0] = 07110${test00}[1] = 17111${test00}[2] = 27112${test01}[0] = 17113${test01}[1] = 27114${test01}[2] = 37115${test02}[0] = 27116${test02}[1] = 37117${test02}[2] = 47118${test10}[0] = 17119${test10}[1] = 27120${test10}[2] = 37121${test11}[0] = 27122${test11}[1] = 37123${test11}[2] = 47124${test12}[0] = 37125${test12}[1] = 47126${test12}[2] = 57127${test20}[0] = 27128${test20}[1] = 37129${test20}[2] = 47130${test21}[0] = 37131${test21}[1] = 47132${test21}[2] = 57133${test22}[0] = 47134${test22}[1] = 57135${test22}[2] = 67136*********************7137*** hash test... ***7138commented out...7139**************************7140*** Hash resizing test ***7141ba7142baa7143baaa7144baaaa7145baaaaa7146baaaaaa7147baaaaaaa7148baaaaaaaa7149baaaaaaaaa7150baaaaaaaaaa7151ba7152107153baa715497155baaa715687157baaaa715877159baaaaa716067161baaaaaa716257163baaaaaaa716447165baaaaaaaa716637167baaaaaaaaa716827169baaaaaaaaaa717017171**************************7172*** break/continue test ***7173$i should go from 0 to 27174$j should go from 3 to 4, and $q should go from 3 to 47175  $j=37176    $q=37177    $q=47178  $j=47179    $q=37180    $q=47181$j should go from 0 to 27182  $j=07183  $j=17184  $j=27185$k should go from 0 to 27186    $k=07187    $k=17188    $k=27189$i=07190$j should go from 3 to 4, and $q should go from 3 to 47191  $j=37192    $q=37193    $q=47194  $j=47195    $q=37196    $q=47197$j should go from 0 to 27198  $j=07199  $j=17200  $j=27201$k should go from 0 to 27202    $k=07203    $k=17204    $k=27205$i=17206$j should go from 3 to 4, and $q should go from 3 to 47207  $j=37208    $q=37209    $q=47210  $j=47211    $q=37212    $q=47213$j should go from 0 to 27214  $j=07215  $j=17216  $j=27217$k should go from 0 to 27218    $k=07219    $k=17220    $k=27221$i=27222***********************7223*** Nested file include test ***7224<html>7225This is Finish.phtml.  This file is supposed to be included7226from regression_test.phtml.  This is normal HTML.7227and this is PHP code, 2+2=47228</html>7229********************************7230Tests completed.7231<html>7232<head>7233*** Testing assignments and variable aliasing: ***7234This should read "blah": blah7235This should read "this is nifty": this is nifty7236*************************************************7237*** Testing integer operators ***7238Correct result - 8:  87239Correct result - 8:  87240Correct result - 2:  27241Correct result - -2:  -27242Correct result - 15:  157243Correct result - 15:  157244Correct result - 2:  27245Correct result - 3:  37246*********************************7247*** Testing real operators ***7248Correct result - 8:  87249Correct result - 8:  87250Correct result - 2:  27251Correct result - -2:  -27252Correct result - 15:  157253Correct result - 15:  157254Correct result - 2:  27255Correct result - 3:  37256*********************************7257*** Testing if/elseif/else control ***7258This  works7259this_still_works7260should_print7261*** Seriously nested if's test ***7262** spelling correction by kluzz **7263Only two lines of text should follow:7264this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=07265this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=472663 loop iterations should follow:72672 472683 472694 47270**********************************7271*** C-style else-if's ***7272This should be displayed7273*************************7274*** WHILE tests ***72750 is smaller than 2072761 is smaller than 2072772 is smaller than 2072783 is smaller than 2072794 is smaller than 2072805 is smaller than 2072816 is smaller than 2072827 is smaller than 2072838 is smaller than 2072849 is smaller than 20728510 is smaller than 20728611 is smaller than 20728712 is smaller than 20728813 is smaller than 20728914 is smaller than 20729015 is smaller than 20729116 is smaller than 20729217 is smaller than 20729318 is smaller than 20729419 is smaller than 20729520 equals 20729621 is greater than 20729722 is greater than 20729823 is greater than 20729924 is greater than 20730025 is greater than 20730126 is greater than 20730227 is greater than 20730328 is greater than 20730429 is greater than 20730530 is greater than 20730631 is greater than 20730732 is greater than 20730833 is greater than 20730934 is greater than 20731035 is greater than 20731136 is greater than 20731237 is greater than 20731338 is greater than 20731439 is greater than 207315*******************7316*** Nested WHILEs ***7317Each array variable should be equal to the sum of its indices:7318${test00}[0] = 07319${test00}[1] = 17320${test00}[2] = 27321${test01}[0] = 17322${test01}[1] = 27323${test01}[2] = 37324${test02}[0] = 27325${test02}[1] = 37326${test02}[2] = 47327${test10}[0] = 17328${test10}[1] = 27329${test10}[2] = 37330${test11}[0] = 27331${test11}[1] = 37332${test11}[2] = 47333${test12}[0] = 37334${test12}[1] = 47335${test12}[2] = 57336${test20}[0] = 27337${test20}[1] = 37338${test20}[2] = 47339${test21}[0] = 37340${test21}[1] = 47341${test21}[2] = 57342${test22}[0] = 47343${test22}[1] = 57344${test22}[2] = 67345*********************7346*** hash test... ***7347commented out...7348**************************7349*** Hash resizing test ***7350ba7351baa7352baaa7353baaaa7354baaaaa7355baaaaaa7356baaaaaaa7357baaaaaaaa7358baaaaaaaaa7359baaaaaaaaaa7360ba7361107362baa736397364baaa736587366baaaa736777368baaaaa736967370baaaaaa737157372baaaaaaa737347374baaaaaaaa737537376baaaaaaaaa737727378baaaaaaaaaa737917380**************************7381*** break/continue test ***7382$i should go from 0 to 27383$j should go from 3 to 4, and $q should go from 3 to 47384  $j=37385    $q=37386    $q=47387  $j=47388    $q=37389    $q=47390$j should go from 0 to 27391  $j=07392  $j=17393  $j=27394$k should go from 0 to 27395    $k=07396    $k=17397    $k=27398$i=07399$j should go from 3 to 4, and $q should go from 3 to 47400  $j=37401    $q=37402    $q=47403  $j=47404    $q=37405    $q=47406$j should go from 0 to 27407  $j=07408  $j=17409  $j=27410$k should go from 0 to 27411    $k=07412    $k=17413    $k=27414$i=17415$j should go from 3 to 4, and $q should go from 3 to 47416  $j=37417    $q=37418    $q=47419  $j=47420    $q=37421    $q=47422$j should go from 0 to 27423  $j=07424  $j=17425  $j=27426$k should go from 0 to 27427    $k=07428    $k=17429    $k=27430$i=27431***********************7432*** Nested file include test ***7433<html>7434This is Finish.phtml.  This file is supposed to be included7435from regression_test.phtml.  This is normal HTML.7436and this is PHP code, 2+2=47437</html>7438********************************7439Tests completed.7440<html>7441<head>7442*** Testing assignments and variable aliasing: ***7443This should read "blah": blah7444This should read "this is nifty": this is nifty7445*************************************************7446*** Testing integer operators ***7447Correct result - 8:  87448Correct result - 8:  87449Correct result - 2:  27450Correct result - -2:  -27451Correct result - 15:  157452Correct result - 15:  157453Correct result - 2:  27454Correct result - 3:  37455*********************************7456*** Testing real operators ***7457Correct result - 8:  87458Correct result - 8:  87459Correct result - 2:  27460Correct result - -2:  -27461Correct result - 15:  157462Correct result - 15:  157463Correct result - 2:  27464Correct result - 3:  37465*********************************7466*** Testing if/elseif/else control ***7467This  works7468this_still_works7469should_print7470*** Seriously nested if's test ***7471** spelling correction by kluzz **7472Only two lines of text should follow:7473this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=07474this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=474753 loop iterations should follow:74762 474773 474784 47479**********************************7480*** C-style else-if's ***7481This should be displayed7482*************************7483*** WHILE tests ***74840 is smaller than 2074851 is smaller than 2074862 is smaller than 2074873 is smaller than 2074884 is smaller than 2074895 is smaller than 2074906 is smaller than 2074917 is smaller than 2074928 is smaller than 2074939 is smaller than 20749410 is smaller than 20749511 is smaller than 20749612 is smaller than 20749713 is smaller than 20749814 is smaller than 20749915 is smaller than 20750016 is smaller than 20750117 is smaller than 20750218 is smaller than 20750319 is smaller than 20750420 equals 20750521 is greater than 20750622 is greater than 20750723 is greater than 20750824 is greater than 20750925 is greater than 20751026 is greater than 20751127 is greater than 20751228 is greater than 20751329 is greater than 20751430 is greater than 20751531 is greater than 20751632 is greater than 20751733 is greater than 20751834 is greater than 20751935 is greater than 20752036 is greater than 20752137 is greater than 20752238 is greater than 20752339 is greater than 207524*******************7525*** Nested WHILEs ***7526Each array variable should be equal to the sum of its indices:7527${test00}[0] = 07528${test00}[1] = 17529${test00}[2] = 27530${test01}[0] = 17531${test01}[1] = 27532${test01}[2] = 37533${test02}[0] = 27534${test02}[1] = 37535${test02}[2] = 47536${test10}[0] = 17537${test10}[1] = 27538${test10}[2] = 37539${test11}[0] = 27540${test11}[1] = 37541${test11}[2] = 47542${test12}[0] = 37543${test12}[1] = 47544${test12}[2] = 57545${test20}[0] = 27546${test20}[1] = 37547${test20}[2] = 47548${test21}[0] = 37549${test21}[1] = 47550${test21}[2] = 57551${test22}[0] = 47552${test22}[1] = 57553${test22}[2] = 67554*********************7555*** hash test... ***7556commented out...7557**************************7558*** Hash resizing test ***7559ba7560baa7561baaa7562baaaa7563baaaaa7564baaaaaa7565baaaaaaa7566baaaaaaaa7567baaaaaaaaa7568baaaaaaaaaa7569ba7570107571baa757297573baaa757487575baaaa757677577baaaaa757867579baaaaaa758057581baaaaaaa758247583baaaaaaaa758437585baaaaaaaaa758627587baaaaaaaaaa758817589**************************7590*** break/continue test ***7591$i should go from 0 to 27592$j should go from 3 to 4, and $q should go from 3 to 47593  $j=37594    $q=37595    $q=47596  $j=47597    $q=37598    $q=47599$j should go from 0 to 27600  $j=07601  $j=17602  $j=27603$k should go from 0 to 27604    $k=07605    $k=17606    $k=27607$i=07608$j should go from 3 to 4, and $q should go from 3 to 47609  $j=37610    $q=37611    $q=47612  $j=47613    $q=37614    $q=47615$j should go from 0 to 27616  $j=07617  $j=17618  $j=27619$k should go from 0 to 27620    $k=07621    $k=17622    $k=27623$i=17624$j should go from 3 to 4, and $q should go from 3 to 47625  $j=37626    $q=37627    $q=47628  $j=47629    $q=37630    $q=47631$j should go from 0 to 27632  $j=07633  $j=17634  $j=27635$k should go from 0 to 27636    $k=07637    $k=17638    $k=27639$i=27640***********************7641*** Nested file include test ***7642<html>7643This is Finish.phtml.  This file is supposed to be included7644from regression_test.phtml.  This is normal HTML.7645and this is PHP code, 2+2=47646</html>7647********************************7648Tests completed.7649<html>7650<head>7651*** Testing assignments and variable aliasing: ***7652This should read "blah": blah7653This should read "this is nifty": this is nifty7654*************************************************7655*** Testing integer operators ***7656Correct result - 8:  87657Correct result - 8:  87658Correct result - 2:  27659Correct result - -2:  -27660Correct result - 15:  157661Correct result - 15:  157662Correct result - 2:  27663Correct result - 3:  37664*********************************7665*** Testing real operators ***7666Correct result - 8:  87667Correct result - 8:  87668Correct result - 2:  27669Correct result - -2:  -27670Correct result - 15:  157671Correct result - 15:  157672Correct result - 2:  27673Correct result - 3:  37674*********************************7675*** Testing if/elseif/else control ***7676This  works7677this_still_works7678should_print7679*** Seriously nested if's test ***7680** spelling correction by kluzz **7681Only two lines of text should follow:7682this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=07683this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=476843 loop iterations should follow:76852 476863 476874 47688**********************************7689*** C-style else-if's ***7690This should be displayed7691*************************7692*** WHILE tests ***76930 is smaller than 2076941 is smaller than 2076952 is smaller than 2076963 is smaller than 2076974 is smaller than 2076985 is smaller than 2076996 is smaller than 2077007 is smaller than 2077018 is smaller than 2077029 is smaller than 20770310 is smaller than 20770411 is smaller than 20770512 is smaller than 20770613 is smaller than 20770714 is smaller than 20770815 is smaller than 20770916 is smaller than 20771017 is smaller than 20771118 is smaller than 20771219 is smaller than 20771320 equals 20771421 is greater than 20771522 is greater than 20771623 is greater than 20771724 is greater than 20771825 is greater than 20771926 is greater than 20772027 is greater than 20772128 is greater than 20772229 is greater than 20772330 is greater than 20772431 is greater than 20772532 is greater than 20772633 is greater than 20772734 is greater than 20772835 is greater than 20772936 is greater than 20773037 is greater than 20773138 is greater than 20773239 is greater than 207733*******************7734*** Nested WHILEs ***7735Each array variable should be equal to the sum of its indices:7736${test00}[0] = 07737${test00}[1] = 17738${test00}[2] = 27739${test01}[0] = 17740${test01}[1] = 27741${test01}[2] = 37742${test02}[0] = 27743${test02}[1] = 37744${test02}[2] = 47745${test10}[0] = 17746${test10}[1] = 27747${test10}[2] = 37748${test11}[0] = 27749${test11}[1] = 37750${test11}[2] = 47751${test12}[0] = 37752${test12}[1] = 47753${test12}[2] = 57754${test20}[0] = 27755${test20}[1] = 37756${test20}[2] = 47757${test21}[0] = 37758${test21}[1] = 47759${test21}[2] = 57760${test22}[0] = 47761${test22}[1] = 57762${test22}[2] = 67763*********************7764*** hash test... ***7765commented out...7766**************************7767*** Hash resizing test ***7768ba7769baa7770baaa7771baaaa7772baaaaa7773baaaaaa7774baaaaaaa7775baaaaaaaa7776baaaaaaaaa7777baaaaaaaaaa7778ba7779107780baa778197782baaa778387784baaaa778577786baaaaa778767788baaaaaa778957790baaaaaaa779147792baaaaaaaa779337794baaaaaaaaa779527796baaaaaaaaaa779717798**************************7799*** break/continue test ***7800$i should go from 0 to 27801$j should go from 3 to 4, and $q should go from 3 to 47802  $j=37803    $q=37804    $q=47805  $j=47806    $q=37807    $q=47808$j should go from 0 to 27809  $j=07810  $j=17811  $j=27812$k should go from 0 to 27813    $k=07814    $k=17815    $k=27816$i=07817$j should go from 3 to 4, and $q should go from 3 to 47818  $j=37819    $q=37820    $q=47821  $j=47822    $q=37823    $q=47824$j should go from 0 to 27825  $j=07826  $j=17827  $j=27828$k should go from 0 to 27829    $k=07830    $k=17831    $k=27832$i=17833$j should go from 3 to 4, and $q should go from 3 to 47834  $j=37835    $q=37836    $q=47837  $j=47838    $q=37839    $q=47840$j should go from 0 to 27841  $j=07842  $j=17843  $j=27844$k should go from 0 to 27845    $k=07846    $k=17847    $k=27848$i=27849***********************7850*** Nested file include test ***7851<html>7852This is Finish.phtml.  This file is supposed to be included7853from regression_test.phtml.  This is normal HTML.7854and this is PHP code, 2+2=47855</html>7856********************************7857Tests completed.7858<html>7859<head>7860*** Testing assignments and variable aliasing: ***7861This should read "blah": blah7862This should read "this is nifty": this is nifty7863*************************************************7864*** Testing integer operators ***7865Correct result - 8:  87866Correct result - 8:  87867Correct result - 2:  27868Correct result - -2:  -27869Correct result - 15:  157870Correct result - 15:  157871Correct result - 2:  27872Correct result - 3:  37873*********************************7874*** Testing real operators ***7875Correct result - 8:  87876Correct result - 8:  87877Correct result - 2:  27878Correct result - -2:  -27879Correct result - 15:  157880Correct result - 15:  157881Correct result - 2:  27882Correct result - 3:  37883*********************************7884*** Testing if/elseif/else control ***7885This  works7886this_still_works7887should_print7888*** Seriously nested if's test ***7889** spelling correction by kluzz **7890Only two lines of text should follow:7891this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=07892this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=478933 loop iterations should follow:78942 478953 478964 47897**********************************7898*** C-style else-if's ***7899This should be displayed7900*************************7901*** WHILE tests ***79020 is smaller than 2079031 is smaller than 2079042 is smaller than 2079053 is smaller than 2079064 is smaller than 2079075 is smaller than 2079086 is smaller than 2079097 is smaller than 2079108 is smaller than 2079119 is smaller than 20791210 is smaller than 20791311 is smaller than 20791412 is smaller than 20791513 is smaller than 20791614 is smaller than 20791715 is smaller than 20791816 is smaller than 20791917 is smaller than 20792018 is smaller than 20792119 is smaller than 20792220 equals 20792321 is greater than 20792422 is greater than 20792523 is greater than 20792624 is greater than 20792725 is greater than 20792826 is greater than 20792927 is greater than 20793028 is greater than 20793129 is greater than 20793230 is greater than 20793331 is greater than 20793432 is greater than 20793533 is greater than 20793634 is greater than 20793735 is greater than 20793836 is greater than 20793937 is greater than 20794038 is greater than 20794139 is greater than 207942*******************7943*** Nested WHILEs ***7944Each array variable should be equal to the sum of its indices:7945${test00}[0] = 07946${test00}[1] = 17947${test00}[2] = 27948${test01}[0] = 17949${test01}[1] = 27950${test01}[2] = 37951${test02}[0] = 27952${test02}[1] = 37953${test02}[2] = 47954${test10}[0] = 17955${test10}[1] = 27956${test10}[2] = 37957${test11}[0] = 27958${test11}[1] = 37959${test11}[2] = 47960${test12}[0] = 37961${test12}[1] = 47962${test12}[2] = 57963${test20}[0] = 27964${test20}[1] = 37965${test20}[2] = 47966${test21}[0] = 37967${test21}[1] = 47968${test21}[2] = 57969${test22}[0] = 47970${test22}[1] = 57971${test22}[2] = 67972*********************7973*** hash test... ***7974commented out...7975**************************7976*** Hash resizing test ***7977ba7978baa7979baaa7980baaaa7981baaaaa7982baaaaaa7983baaaaaaa7984baaaaaaaa7985baaaaaaaaa7986baaaaaaaaaa7987ba7988107989baa799097991baaa799287993baaaa799477995baaaaa799667997baaaaaa799857999baaaaaaa800048001baaaaaaaa800238003baaaaaaaaa800428005baaaaaaaaaa800618007**************************8008*** break/continue test ***8009$i should go from 0 to 28010$j should go from 3 to 4, and $q should go from 3 to 48011  $j=38012    $q=38013    $q=48014  $j=48015    $q=38016    $q=48017$j should go from 0 to 28018  $j=08019  $j=18020  $j=28021$k should go from 0 to 28022    $k=08023    $k=18024    $k=28025$i=08026$j should go from 3 to 4, and $q should go from 3 to 48027  $j=38028    $q=38029    $q=48030  $j=48031    $q=38032    $q=48033$j should go from 0 to 28034  $j=08035  $j=18036  $j=28037$k should go from 0 to 28038    $k=08039    $k=18040    $k=28041$i=18042$j should go from 3 to 4, and $q should go from 3 to 48043  $j=38044    $q=38045    $q=48046  $j=48047    $q=38048    $q=48049$j should go from 0 to 28050  $j=08051  $j=18052  $j=28053$k should go from 0 to 28054    $k=08055    $k=18056    $k=28057$i=28058***********************8059*** Nested file include test ***8060<html>8061This is Finish.phtml.  This file is supposed to be included8062from regression_test.phtml.  This is normal HTML.8063and this is PHP code, 2+2=48064</html>8065********************************8066Tests completed.8067<html>8068<head>8069*** Testing assignments and variable aliasing: ***8070This should read "blah": blah8071This should read "this is nifty": this is nifty8072*************************************************8073*** Testing integer operators ***8074Correct result - 8:  88075Correct result - 8:  88076Correct result - 2:  28077Correct result - -2:  -28078Correct result - 15:  158079Correct result - 15:  158080Correct result - 2:  28081Correct result - 3:  38082*********************************8083*** Testing real operators ***8084Correct result - 8:  88085Correct result - 8:  88086Correct result - 2:  28087Correct result - -2:  -28088Correct result - 15:  158089Correct result - 15:  158090Correct result - 2:  28091Correct result - 3:  38092*********************************8093*** Testing if/elseif/else control ***8094This  works8095this_still_works8096should_print8097*** Seriously nested if's test ***8098** spelling correction by kluzz **8099Only two lines of text should follow:8100this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=08101this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=481023 loop iterations should follow:81032 481043 481054 48106**********************************8107*** C-style else-if's ***8108This should be displayed8109*************************8110*** WHILE tests ***81110 is smaller than 2081121 is smaller than 2081132 is smaller than 2081143 is smaller than 2081154 is smaller than 2081165 is smaller than 2081176 is smaller than 2081187 is smaller than 2081198 is smaller than 2081209 is smaller than 20812110 is smaller than 20812211 is smaller than 20812312 is smaller than 20812413 is smaller than 20812514 is smaller than 20812615 is smaller than 20812716 is smaller than 20812817 is smaller than 20812918 is smaller than 20813019 is smaller than 20813120 equals 20813221 is greater than 20813322 is greater than 20813423 is greater than 20813524 is greater than 20813625 is greater than 20813726 is greater than 20813827 is greater than 20813928 is greater than 20814029 is greater than 20814130 is greater than 20814231 is greater than 20814332 is greater than 20814433 is greater than 20814534 is greater than 20814635 is greater than 20814736 is greater than 20814837 is greater than 20814938 is greater than 20815039 is greater than 208151*******************8152*** Nested WHILEs ***8153Each array variable should be equal to the sum of its indices:8154${test00}[0] = 08155${test00}[1] = 18156${test00}[2] = 28157${test01}[0] = 18158${test01}[1] = 28159${test01}[2] = 38160${test02}[0] = 28161${test02}[1] = 38162${test02}[2] = 48163${test10}[0] = 18164${test10}[1] = 28165${test10}[2] = 38166${test11}[0] = 28167${test11}[1] = 38168${test11}[2] = 48169${test12}[0] = 38170${test12}[1] = 48171${test12}[2] = 58172${test20}[0] = 28173${test20}[1] = 38174${test20}[2] = 48175${test21}[0] = 38176${test21}[1] = 48177${test21}[2] = 58178${test22}[0] = 48179${test22}[1] = 58180${test22}[2] = 68181*********************8182*** hash test... ***8183commented out...8184**************************8185*** Hash resizing test ***8186ba8187baa8188baaa8189baaaa8190baaaaa8191baaaaaa8192baaaaaaa8193baaaaaaaa8194baaaaaaaaa8195baaaaaaaaaa8196ba8197108198baa819998200baaa820188202baaaa820378204baaaaa820568206baaaaaa820758208baaaaaaa820948210baaaaaaaa821138212baaaaaaaaa821328214baaaaaaaaaa821518216**************************8217*** break/continue test ***8218$i should go from 0 to 28219$j should go from 3 to 4, and $q should go from 3 to 48220  $j=38221    $q=38222    $q=48223  $j=48224    $q=38225    $q=48226$j should go from 0 to 28227  $j=08228  $j=18229  $j=28230$k should go from 0 to 28231    $k=08232    $k=18233    $k=28234$i=08235$j should go from 3 to 4, and $q should go from 3 to 48236  $j=38237    $q=38238    $q=48239  $j=48240    $q=38241    $q=48242$j should go from 0 to 28243  $j=08244  $j=18245  $j=28246$k should go from 0 to 28247    $k=08248    $k=18249    $k=28250$i=18251$j should go from 3 to 4, and $q should go from 3 to 48252  $j=38253    $q=38254    $q=48255  $j=48256    $q=38257    $q=48258$j should go from 0 to 28259  $j=08260  $j=18261  $j=28262$k should go from 0 to 28263    $k=08264    $k=18265    $k=28266$i=28267***********************8268*** Nested file include test ***8269<html>8270This is Finish.phtml.  This file is supposed to be included8271from regression_test.phtml.  This is normal HTML.8272and this is PHP code, 2+2=48273</html>8274********************************8275Tests completed.8276<html>8277<head>8278*** Testing assignments and variable aliasing: ***8279This should read "blah": blah8280This should read "this is nifty": this is nifty8281*************************************************8282*** Testing integer operators ***8283Correct result - 8:  88284Correct result - 8:  88285Correct result - 2:  28286Correct result - -2:  -28287Correct result - 15:  158288Correct result - 15:  158289Correct result - 2:  28290Correct result - 3:  38291*********************************8292*** Testing real operators ***8293Correct result - 8:  88294Correct result - 8:  88295Correct result - 2:  28296Correct result - -2:  -28297Correct result - 15:  158298Correct result - 15:  158299Correct result - 2:  28300Correct result - 3:  38301*********************************8302*** Testing if/elseif/else control ***8303This  works8304this_still_works8305should_print8306*** Seriously nested if's test ***8307** spelling correction by kluzz **8308Only two lines of text should follow:8309this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=08310this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=483113 loop iterations should follow:83122 483133 483144 48315**********************************8316*** C-style else-if's ***8317This should be displayed8318*************************8319*** WHILE tests ***83200 is smaller than 2083211 is smaller than 2083222 is smaller than 2083233 is smaller than 2083244 is smaller than 2083255 is smaller than 2083266 is smaller than 2083277 is smaller than 2083288 is smaller than 2083299 is smaller than 20833010 is smaller than 20833111 is smaller than 20833212 is smaller than 20833313 is smaller than 20833414 is smaller than 20833515 is smaller than 20833616 is smaller than 20833717 is smaller than 20833818 is smaller than 20833919 is smaller than 20834020 equals 20834121 is greater than 20834222 is greater than 20834323 is greater than 20834424 is greater than 20834525 is greater than 20834626 is greater than 20834727 is greater than 20834828 is greater than 20834929 is greater than 20835030 is greater than 20835131 is greater than 20835232 is greater than 20835333 is greater than 20835434 is greater than 20835535 is greater than 20835636 is greater than 20835737 is greater than 20835838 is greater than 20835939 is greater than 208360*******************8361*** Nested WHILEs ***8362Each array variable should be equal to the sum of its indices:8363${test00}[0] = 08364${test00}[1] = 18365${test00}[2] = 28366${test01}[0] = 18367${test01}[1] = 28368${test01}[2] = 38369${test02}[0] = 28370${test02}[1] = 38371${test02}[2] = 48372${test10}[0] = 18373${test10}[1] = 28374${test10}[2] = 38375${test11}[0] = 28376${test11}[1] = 38377${test11}[2] = 48378${test12}[0] = 38379${test12}[1] = 48380${test12}[2] = 58381${test20}[0] = 28382${test20}[1] = 38383${test20}[2] = 48384${test21}[0] = 38385${test21}[1] = 48386${test21}[2] = 58387${test22}[0] = 48388${test22}[1] = 58389${test22}[2] = 68390*********************8391*** hash test... ***8392commented out...8393**************************8394*** Hash resizing test ***8395ba8396baa8397baaa8398baaaa8399baaaaa8400baaaaaa8401baaaaaaa8402baaaaaaaa8403baaaaaaaaa8404baaaaaaaaaa8405ba8406108407baa840898409baaa841088411baaaa841278413baaaaa841468415baaaaaa841658417baaaaaaa841848419baaaaaaaa842038421baaaaaaaaa842228423baaaaaaaaaa842418425**************************8426*** break/continue test ***8427$i should go from 0 to 28428$j should go from 3 to 4, and $q should go from 3 to 48429  $j=38430    $q=38431    $q=48432  $j=48433    $q=38434    $q=48435$j should go from 0 to 28436  $j=08437  $j=18438  $j=28439$k should go from 0 to 28440    $k=08441    $k=18442    $k=28443$i=08444$j should go from 3 to 4, and $q should go from 3 to 48445  $j=38446    $q=38447    $q=48448  $j=48449    $q=38450    $q=48451$j should go from 0 to 28452  $j=08453  $j=18454  $j=28455$k should go from 0 to 28456    $k=08457    $k=18458    $k=28459$i=18460$j should go from 3 to 4, and $q should go from 3 to 48461  $j=38462    $q=38463    $q=48464  $j=48465    $q=38466    $q=48467$j should go from 0 to 28468  $j=08469  $j=18470  $j=28471$k should go from 0 to 28472    $k=08473    $k=18474    $k=28475$i=28476***********************8477*** Nested file include test ***8478<html>8479This is Finish.phtml.  This file is supposed to be included8480from regression_test.phtml.  This is normal HTML.8481and this is PHP code, 2+2=48482</html>8483********************************8484Tests completed.8485<html>8486<head>8487*** Testing assignments and variable aliasing: ***8488This should read "blah": blah8489This should read "this is nifty": this is nifty8490*************************************************8491*** Testing integer operators ***8492Correct result - 8:  88493Correct result - 8:  88494Correct result - 2:  28495Correct result - -2:  -28496Correct result - 15:  158497Correct result - 15:  158498Correct result - 2:  28499Correct result - 3:  38500*********************************8501*** Testing real operators ***8502Correct result - 8:  88503Correct result - 8:  88504Correct result - 2:  28505Correct result - -2:  -28506Correct result - 15:  158507Correct result - 15:  158508Correct result - 2:  28509Correct result - 3:  38510*********************************8511*** Testing if/elseif/else control ***8512This  works8513this_still_works8514should_print8515*** Seriously nested if's test ***8516** spelling correction by kluzz **8517Only two lines of text should follow:8518this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=08519this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=485203 loop iterations should follow:85212 485223 485234 48524**********************************8525*** C-style else-if's ***8526This should be displayed8527*************************8528*** WHILE tests ***85290 is smaller than 2085301 is smaller than 2085312 is smaller than 2085323 is smaller than 2085334 is smaller than 2085345 is smaller than 2085356 is smaller than 2085367 is smaller than 2085378 is smaller than 2085389 is smaller than 20853910 is smaller than 20854011 is smaller than 20854112 is smaller than 20854213 is smaller than 20854314 is smaller than 20854415 is smaller than 20854516 is smaller than 20854617 is smaller than 20854718 is smaller than 20854819 is smaller than 20854920 equals 20855021 is greater than 20855122 is greater than 20855223 is greater than 20855324 is greater than 20855425 is greater than 20855526 is greater than 20855627 is greater than 20855728 is greater than 20855829 is greater than 20855930 is greater than 20856031 is greater than 20856132 is greater than 20856233 is greater than 20856334 is greater than 20856435 is greater than 20856536 is greater than 20856637 is greater than 20856738 is greater than 20856839 is greater than 208569*******************8570*** Nested WHILEs ***8571Each array variable should be equal to the sum of its indices:8572${test00}[0] = 08573${test00}[1] = 18574${test00}[2] = 28575${test01}[0] = 18576${test01}[1] = 28577${test01}[2] = 38578${test02}[0] = 28579${test02}[1] = 38580${test02}[2] = 48581${test10}[0] = 18582${test10}[1] = 28583${test10}[2] = 38584${test11}[0] = 28585${test11}[1] = 38586${test11}[2] = 48587${test12}[0] = 38588${test12}[1] = 48589${test12}[2] = 58590${test20}[0] = 28591${test20}[1] = 38592${test20}[2] = 48593${test21}[0] = 38594${test21}[1] = 48595${test21}[2] = 58596${test22}[0] = 48597${test22}[1] = 58598${test22}[2] = 68599*********************8600*** hash test... ***8601commented out...8602**************************8603*** Hash resizing test ***8604ba8605baa8606baaa8607baaaa8608baaaaa8609baaaaaa8610baaaaaaa8611baaaaaaaa8612baaaaaaaaa8613baaaaaaaaaa8614ba8615108616baa861798618baaa861988620baaaa862178622baaaaa862368624baaaaaa862558626baaaaaaa862748628baaaaaaaa862938630baaaaaaaaa863128632baaaaaaaaaa863318634**************************8635*** break/continue test ***8636$i should go from 0 to 28637$j should go from 3 to 4, and $q should go from 3 to 48638  $j=38639    $q=38640    $q=48641  $j=48642    $q=38643    $q=48644$j should go from 0 to 28645  $j=08646  $j=18647  $j=28648$k should go from 0 to 28649    $k=08650    $k=18651    $k=28652$i=08653$j should go from 3 to 4, and $q should go from 3 to 48654  $j=38655    $q=38656    $q=48657  $j=48658    $q=38659    $q=48660$j should go from 0 to 28661  $j=08662  $j=18663  $j=28664$k should go from 0 to 28665    $k=08666    $k=18667    $k=28668$i=18669$j should go from 3 to 4, and $q should go from 3 to 48670  $j=38671    $q=38672    $q=48673  $j=48674    $q=38675    $q=48676$j should go from 0 to 28677  $j=08678  $j=18679  $j=28680$k should go from 0 to 28681    $k=08682    $k=18683    $k=28684$i=28685***********************8686*** Nested file include test ***8687<html>8688This is Finish.phtml.  This file is supposed to be included8689from regression_test.phtml.  This is normal HTML.8690and this is PHP code, 2+2=48691</html>8692********************************8693Tests completed.8694<html>8695<head>8696*** Testing assignments and variable aliasing: ***8697This should read "blah": blah8698This should read "this is nifty": this is nifty8699*************************************************8700*** Testing integer operators ***8701Correct result - 8:  88702Correct result - 8:  88703Correct result - 2:  28704Correct result - -2:  -28705Correct result - 15:  158706Correct result - 15:  158707Correct result - 2:  28708Correct result - 3:  38709*********************************8710*** Testing real operators ***8711Correct result - 8:  88712Correct result - 8:  88713Correct result - 2:  28714Correct result - -2:  -28715Correct result - 15:  158716Correct result - 15:  158717Correct result - 2:  28718Correct result - 3:  38719*********************************8720*** Testing if/elseif/else control ***8721This  works8722this_still_works8723should_print8724*** Seriously nested if's test ***8725** spelling correction by kluzz **8726Only two lines of text should follow:8727this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=08728this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=487293 loop iterations should follow:87302 487313 487324 48733**********************************8734*** C-style else-if's ***8735This should be displayed8736*************************8737*** WHILE tests ***87380 is smaller than 2087391 is smaller than 2087402 is smaller than 2087413 is smaller than 2087424 is smaller than 2087435 is smaller than 2087446 is smaller than 2087457 is smaller than 2087468 is smaller than 2087479 is smaller than 20874810 is smaller than 20874911 is smaller than 20875012 is smaller than 20875113 is smaller than 20875214 is smaller than 20875315 is smaller than 20875416 is smaller than 20875517 is smaller than 20875618 is smaller than 20875719 is smaller than 20875820 equals 20875921 is greater than 20876022 is greater than 20876123 is greater than 20876224 is greater than 20876325 is greater than 20876426 is greater than 20876527 is greater than 20876628 is greater than 20876729 is greater than 20876830 is greater than 20876931 is greater than 20877032 is greater than 20877133 is greater than 20877234 is greater than 20877335 is greater than 20877436 is greater than 20877537 is greater than 20877638 is greater than 20877739 is greater than 208778*******************8779*** Nested WHILEs ***8780Each array variable should be equal to the sum of its indices:8781${test00}[0] = 08782${test00}[1] = 18783${test00}[2] = 28784${test01}[0] = 18785${test01}[1] = 28786${test01}[2] = 38787${test02}[0] = 28788${test02}[1] = 38789${test02}[2] = 48790${test10}[0] = 18791${test10}[1] = 28792${test10}[2] = 38793${test11}[0] = 28794${test11}[1] = 38795${test11}[2] = 48796${test12}[0] = 38797${test12}[1] = 48798${test12}[2] = 58799${test20}[0] = 28800${test20}[1] = 38801${test20}[2] = 48802${test21}[0] = 38803${test21}[1] = 48804${test21}[2] = 58805${test22}[0] = 48806${test22}[1] = 58807${test22}[2] = 68808*********************8809*** hash test... ***8810commented out...8811**************************8812*** Hash resizing test ***8813ba8814baa8815baaa8816baaaa8817baaaaa8818baaaaaa8819baaaaaaa8820baaaaaaaa8821baaaaaaaaa8822baaaaaaaaaa8823ba8824108825baa882698827baaa882888829baaaa883078831baaaaa883268833baaaaaa883458835baaaaaaa883648837baaaaaaaa883838839baaaaaaaaa884028841baaaaaaaaaa884218843**************************8844*** break/continue test ***8845$i should go from 0 to 28846$j should go from 3 to 4, and $q should go from 3 to 48847  $j=38848    $q=38849    $q=48850  $j=48851    $q=38852    $q=48853$j should go from 0 to 28854  $j=08855  $j=18856  $j=28857$k should go from 0 to 28858    $k=08859    $k=18860    $k=28861$i=08862$j should go from 3 to 4, and $q should go from 3 to 48863  $j=38864    $q=38865    $q=48866  $j=48867    $q=38868    $q=48869$j should go from 0 to 28870  $j=08871  $j=18872  $j=28873$k should go from 0 to 28874    $k=08875    $k=18876    $k=28877$i=18878$j should go from 3 to 4, and $q should go from 3 to 48879  $j=38880    $q=38881    $q=48882  $j=48883    $q=38884    $q=48885$j should go from 0 to 28886  $j=08887  $j=18888  $j=28889$k should go from 0 to 28890    $k=08891    $k=18892    $k=28893$i=28894***********************8895*** Nested file include test ***8896<html>8897This is Finish.phtml.  This file is supposed to be included8898from regression_test.phtml.  This is normal HTML.8899and this is PHP code, 2+2=48900</html>8901********************************8902Tests completed.8903<html>8904<head>8905*** Testing assignments and variable aliasing: ***8906This should read "blah": blah8907This should read "this is nifty": this is nifty8908*************************************************8909*** Testing integer operators ***8910Correct result - 8:  88911Correct result - 8:  88912Correct result - 2:  28913Correct result - -2:  -28914Correct result - 15:  158915Correct result - 15:  158916Correct result - 2:  28917Correct result - 3:  38918*********************************8919*** Testing real operators ***8920Correct result - 8:  88921Correct result - 8:  88922Correct result - 2:  28923Correct result - -2:  -28924Correct result - 15:  158925Correct result - 15:  158926Correct result - 2:  28927Correct result - 3:  38928*********************************8929*** Testing if/elseif/else control ***8930This  works8931this_still_works8932should_print8933*** Seriously nested if's test ***8934** spelling correction by kluzz **8935Only two lines of text should follow:8936this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=08937this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=489383 loop iterations should follow:89392 489403 489414 48942**********************************8943*** C-style else-if's ***8944This should be displayed8945*************************8946*** WHILE tests ***89470 is smaller than 2089481 is smaller than 2089492 is smaller than 2089503 is smaller than 2089514 is smaller than 2089525 is smaller than 2089536 is smaller than 2089547 is smaller than 2089558 is smaller than 2089569 is smaller than 20895710 is smaller than 20895811 is smaller than 20895912 is smaller than 20896013 is smaller than 20896114 is smaller than 20896215 is smaller than 20896316 is smaller than 20896417 is smaller than 20896518 is smaller than 20896619 is smaller than 20896720 equals 20896821 is greater than 20896922 is greater than 20897023 is greater than 20897124 is greater than 20897225 is greater than 20897326 is greater than 20897427 is greater than 20897528 is greater than 20897629 is greater than 20897730 is greater than 20897831 is greater than 20897932 is greater than 20898033 is greater than 20898134 is greater than 20898235 is greater than 20898336 is greater than 20898437 is greater than 20898538 is greater than 20898639 is greater than 208987*******************8988*** Nested WHILEs ***8989Each array variable should be equal to the sum of its indices:8990${test00}[0] = 08991${test00}[1] = 18992${test00}[2] = 28993${test01}[0] = 18994${test01}[1] = 28995${test01}[2] = 38996${test02}[0] = 28997${test02}[1] = 38998${test02}[2] = 48999${test10}[0] = 19000${test10}[1] = 29001${test10}[2] = 39002${test11}[0] = 29003${test11}[1] = 39004${test11}[2] = 49005${test12}[0] = 39006${test12}[1] = 49007${test12}[2] = 59008${test20}[0] = 29009${test20}[1] = 39010${test20}[2] = 49011${test21}[0] = 39012${test21}[1] = 49013${test21}[2] = 59014${test22}[0] = 49015${test22}[1] = 59016${test22}[2] = 69017*********************9018*** hash test... ***9019commented out...9020**************************9021*** Hash resizing test ***9022ba9023baa9024baaa9025baaaa9026baaaaa9027baaaaaa9028baaaaaaa9029baaaaaaaa9030baaaaaaaaa9031baaaaaaaaaa9032ba9033109034baa903599036baaa903789038baaaa903979040baaaaa904169042baaaaaa904359044baaaaaaa904549046baaaaaaaa904739048baaaaaaaaa904929050baaaaaaaaaa905119052**************************9053*** break/continue test ***9054$i should go from 0 to 29055$j should go from 3 to 4, and $q should go from 3 to 49056  $j=39057    $q=39058    $q=49059  $j=49060    $q=39061    $q=49062$j should go from 0 to 29063  $j=09064  $j=19065  $j=29066$k should go from 0 to 29067    $k=09068    $k=19069    $k=29070$i=09071$j should go from 3 to 4, and $q should go from 3 to 49072  $j=39073    $q=39074    $q=49075  $j=49076    $q=39077    $q=49078$j should go from 0 to 29079  $j=09080  $j=19081  $j=29082$k should go from 0 to 29083    $k=09084    $k=19085    $k=29086$i=19087$j should go from 3 to 4, and $q should go from 3 to 49088  $j=39089    $q=39090    $q=49091  $j=49092    $q=39093    $q=49094$j should go from 0 to 29095  $j=09096  $j=19097  $j=29098$k should go from 0 to 29099    $k=09100    $k=19101    $k=29102$i=29103***********************9104*** Nested file include test ***9105<html>9106This is Finish.phtml.  This file is supposed to be included9107from regression_test.phtml.  This is normal HTML.9108and this is PHP code, 2+2=49109</html>9110********************************9111Tests completed.9112<html>9113<head>9114*** Testing assignments and variable aliasing: ***9115This should read "blah": blah9116This should read "this is nifty": this is nifty9117*************************************************9118*** Testing integer operators ***9119Correct result - 8:  89120Correct result - 8:  89121Correct result - 2:  29122Correct result - -2:  -29123Correct result - 15:  159124Correct result - 15:  159125Correct result - 2:  29126Correct result - 3:  39127*********************************9128*** Testing real operators ***9129Correct result - 8:  89130Correct result - 8:  89131Correct result - 2:  29132Correct result - -2:  -29133Correct result - 15:  159134Correct result - 15:  159135Correct result - 2:  29136Correct result - 3:  39137*********************************9138*** Testing if/elseif/else control ***9139This  works9140this_still_works9141should_print9142*** Seriously nested if's test ***9143** spelling correction by kluzz **9144Only two lines of text should follow:9145this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=09146this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=491473 loop iterations should follow:91482 491493 491504 49151**********************************9152*** C-style else-if's ***9153This should be displayed9154*************************9155*** WHILE tests ***91560 is smaller than 2091571 is smaller than 2091582 is smaller than 2091593 is smaller than 2091604 is smaller than 2091615 is smaller than 2091626 is smaller than 2091637 is smaller than 2091648 is smaller than 2091659 is smaller than 20916610 is smaller than 20916711 is smaller than 20916812 is smaller than 20916913 is smaller than 20917014 is smaller than 20917115 is smaller than 20917216 is smaller than 20917317 is smaller than 20917418 is smaller than 20917519 is smaller than 20917620 equals 20917721 is greater than 20917822 is greater than 20917923 is greater than 20918024 is greater than 20918125 is greater than 20918226 is greater than 20918327 is greater than 20918428 is greater than 20918529 is greater than 20918630 is greater than 20918731 is greater than 20918832 is greater than 20918933 is greater than 20919034 is greater than 20919135 is greater than 20919236 is greater than 20919337 is greater than 20919438 is greater than 20919539 is greater than 209196*******************9197*** Nested WHILEs ***9198Each array variable should be equal to the sum of its indices:9199${test00}[0] = 09200${test00}[1] = 19201${test00}[2] = 29202${test01}[0] = 19203${test01}[1] = 29204${test01}[2] = 39205${test02}[0] = 29206${test02}[1] = 39207${test02}[2] = 49208${test10}[0] = 19209${test10}[1] = 29210${test10}[2] = 39211${test11}[0] = 29212${test11}[1] = 39213${test11}[2] = 49214${test12}[0] = 39215${test12}[1] = 49216${test12}[2] = 59217${test20}[0] = 29218${test20}[1] = 39219${test20}[2] = 49220${test21}[0] = 39221${test21}[1] = 49222${test21}[2] = 59223${test22}[0] = 49224${test22}[1] = 59225${test22}[2] = 69226*********************9227*** hash test... ***9228commented out...9229**************************9230*** Hash resizing test ***9231ba9232baa9233baaa9234baaaa9235baaaaa9236baaaaaa9237baaaaaaa9238baaaaaaaa9239baaaaaaaaa9240baaaaaaaaaa9241ba9242109243baa924499245baaa924689247baaaa924879249baaaaa925069251baaaaaa925259253baaaaaaa925449255baaaaaaaa925639257baaaaaaaaa925829259baaaaaaaaaa926019261**************************9262*** break/continue test ***9263$i should go from 0 to 29264$j should go from 3 to 4, and $q should go from 3 to 49265  $j=39266    $q=39267    $q=49268  $j=49269    $q=39270    $q=49271$j should go from 0 to 29272  $j=09273  $j=19274  $j=29275$k should go from 0 to 29276    $k=09277    $k=19278    $k=29279$i=09280$j should go from 3 to 4, and $q should go from 3 to 49281  $j=39282    $q=39283    $q=49284  $j=49285    $q=39286    $q=49287$j should go from 0 to 29288  $j=09289  $j=19290  $j=29291$k should go from 0 to 29292    $k=09293    $k=19294    $k=29295$i=19296$j should go from 3 to 4, and $q should go from 3 to 49297  $j=39298    $q=39299    $q=49300  $j=49301    $q=39302    $q=49303$j should go from 0 to 29304  $j=09305  $j=19306  $j=29307$k should go from 0 to 29308    $k=09309    $k=19310    $k=29311$i=29312***********************9313*** Nested file include test ***9314<html>9315This is Finish.phtml.  This file is supposed to be included9316from regression_test.phtml.  This is normal HTML.9317and this is PHP code, 2+2=49318</html>9319********************************9320Tests completed.9321<html>9322<head>9323*** Testing assignments and variable aliasing: ***9324This should read "blah": blah9325This should read "this is nifty": this is nifty9326*************************************************9327*** Testing integer operators ***9328Correct result - 8:  89329Correct result - 8:  89330Correct result - 2:  29331Correct result - -2:  -29332Correct result - 15:  159333Correct result - 15:  159334Correct result - 2:  29335Correct result - 3:  39336*********************************9337*** Testing real operators ***9338Correct result - 8:  89339Correct result - 8:  89340Correct result - 2:  29341Correct result - -2:  -29342Correct result - 15:  159343Correct result - 15:  159344Correct result - 2:  29345Correct result - 3:  39346*********************************9347*** Testing if/elseif/else control ***9348This  works9349this_still_works9350should_print9351*** Seriously nested if's test ***9352** spelling correction by kluzz **9353Only two lines of text should follow:9354this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=09355this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=493563 loop iterations should follow:93572 493583 493594 49360**********************************9361*** C-style else-if's ***9362This should be displayed9363*************************9364*** WHILE tests ***93650 is smaller than 2093661 is smaller than 2093672 is smaller than 2093683 is smaller than 2093694 is smaller than 2093705 is smaller than 2093716 is smaller than 2093727 is smaller than 2093738 is smaller than 2093749 is smaller than 20937510 is smaller than 20937611 is smaller than 20937712 is smaller than 20937813 is smaller than 20937914 is smaller than 20938015 is smaller than 20938116 is smaller than 20938217 is smaller than 20938318 is smaller than 20938419 is smaller than 20938520 equals 20938621 is greater than 20938722 is greater than 20938823 is greater than 20938924 is greater than 20939025 is greater than 20939126 is greater than 20939227 is greater than 20939328 is greater than 20939429 is greater than 20939530 is greater than 20939631 is greater than 20939732 is greater than 20939833 is greater than 20939934 is greater than 20940035 is greater than 20940136 is greater than 20940237 is greater than 20940338 is greater than 20940439 is greater than 209405*******************9406*** Nested WHILEs ***9407Each array variable should be equal to the sum of its indices:9408${test00}[0] = 09409${test00}[1] = 19410${test00}[2] = 29411${test01}[0] = 19412${test01}[1] = 29413${test01}[2] = 39414${test02}[0] = 29415${test02}[1] = 39416${test02}[2] = 49417${test10}[0] = 19418${test10}[1] = 29419${test10}[2] = 39420${test11}[0] = 29421${test11}[1] = 39422${test11}[2] = 49423${test12}[0] = 39424${test12}[1] = 49425${test12}[2] = 59426${test20}[0] = 29427${test20}[1] = 39428${test20}[2] = 49429${test21}[0] = 39430${test21}[1] = 49431${test21}[2] = 59432${test22}[0] = 49433${test22}[1] = 59434${test22}[2] = 69435*********************9436*** hash test... ***9437commented out...9438**************************9439*** Hash resizing test ***9440ba9441baa9442baaa9443baaaa9444baaaaa9445baaaaaa9446baaaaaaa9447baaaaaaaa9448baaaaaaaaa9449baaaaaaaaaa9450ba9451109452baa945399454baaa945589456baaaa945779458baaaaa945969460baaaaaa946159462baaaaaaa946349464baaaaaaaa946539466baaaaaaaaa946729468baaaaaaaaaa946919470**************************9471*** break/continue test ***9472$i should go from 0 to 29473$j should go from 3 to 4, and $q should go from 3 to 49474  $j=39475    $q=39476    $q=49477  $j=49478    $q=39479    $q=49480$j should go from 0 to 29481  $j=09482  $j=19483  $j=29484$k should go from 0 to 29485    $k=09486    $k=19487    $k=29488$i=09489$j should go from 3 to 4, and $q should go from 3 to 49490  $j=39491    $q=39492    $q=49493  $j=49494    $q=39495    $q=49496$j should go from 0 to 29497  $j=09498  $j=19499  $j=29500$k should go from 0 to 29501    $k=09502    $k=19503    $k=29504$i=19505$j should go from 3 to 4, and $q should go from 3 to 49506  $j=39507    $q=39508    $q=49509  $j=49510    $q=39511    $q=49512$j should go from 0 to 29513  $j=09514  $j=19515  $j=29516$k should go from 0 to 29517    $k=09518    $k=19519    $k=29520$i=29521***********************9522*** Nested file include test ***9523<html>9524This is Finish.phtml.  This file is supposed to be included9525from regression_test.phtml.  This is normal HTML.9526and this is PHP code, 2+2=49527</html>9528********************************9529Tests completed.9530<html>9531<head>9532*** Testing assignments and variable aliasing: ***9533This should read "blah": blah9534This should read "this is nifty": this is nifty9535*************************************************9536*** Testing integer operators ***9537Correct result - 8:  89538Correct result - 8:  89539Correct result - 2:  29540Correct result - -2:  -29541Correct result - 15:  159542Correct result - 15:  159543Correct result - 2:  29544Correct result - 3:  39545*********************************9546*** Testing real operators ***9547Correct result - 8:  89548Correct result - 8:  89549Correct result - 2:  29550Correct result - -2:  -29551Correct result - 15:  159552Correct result - 15:  159553Correct result - 2:  29554Correct result - 3:  39555*********************************9556*** Testing if/elseif/else control ***9557This  works9558this_still_works9559should_print9560*** Seriously nested if's test ***9561** spelling correction by kluzz **9562Only two lines of text should follow:9563this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=09564this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=495653 loop iterations should follow:95662 495673 495684 49569**********************************9570*** C-style else-if's ***9571This should be displayed9572*************************9573*** WHILE tests ***95740 is smaller than 2095751 is smaller than 2095762 is smaller than 2095773 is smaller than 2095784 is smaller than 2095795 is smaller than 2095806 is smaller than 2095817 is smaller than 2095828 is smaller than 2095839 is smaller than 20958410 is smaller than 20958511 is smaller than 20958612 is smaller than 20958713 is smaller than 20958814 is smaller than 20958915 is smaller than 20959016 is smaller than 20959117 is smaller than 20959218 is smaller than 20959319 is smaller than 20959420 equals 20959521 is greater than 20959622 is greater than 20959723 is greater than 20959824 is greater than 20959925 is greater than 20960026 is greater than 20960127 is greater than 20960228 is greater than 20960329 is greater than 20960430 is greater than 20960531 is greater than 20960632 is greater than 20960733 is greater than 20960834 is greater than 20960935 is greater than 20961036 is greater than 20961137 is greater than 20961238 is greater than 20961339 is greater than 209614*******************9615*** Nested WHILEs ***9616Each array variable should be equal to the sum of its indices:9617${test00}[0] = 09618${test00}[1] = 19619${test00}[2] = 29620${test01}[0] = 19621${test01}[1] = 29622${test01}[2] = 39623${test02}[0] = 29624${test02}[1] = 39625${test02}[2] = 49626${test10}[0] = 19627${test10}[1] = 29628${test10}[2] = 39629${test11}[0] = 29630${test11}[1] = 39631${test11}[2] = 49632${test12}[0] = 39633${test12}[1] = 49634${test12}[2] = 59635${test20}[0] = 29636${test20}[1] = 39637${test20}[2] = 49638${test21}[0] = 39639${test21}[1] = 49640${test21}[2] = 59641${test22}[0] = 49642${test22}[1] = 59643${test22}[2] = 69644*********************9645*** hash test... ***9646commented out...9647**************************9648*** Hash resizing test ***9649ba9650baa9651baaa9652baaaa9653baaaaa9654baaaaaa9655baaaaaaa9656baaaaaaaa9657baaaaaaaaa9658baaaaaaaaaa9659ba9660109661baa966299663baaa966489665baaaa966679667baaaaa966869669baaaaaa967059671baaaaaaa967249673baaaaaaaa967439675baaaaaaaaa967629677baaaaaaaaaa967819679**************************9680*** break/continue test ***9681$i should go from 0 to 29682$j should go from 3 to 4, and $q should go from 3 to 49683  $j=39684    $q=39685    $q=49686  $j=49687    $q=39688    $q=49689$j should go from 0 to 29690  $j=09691  $j=19692  $j=29693$k should go from 0 to 29694    $k=09695    $k=19696    $k=29697$i=09698$j should go from 3 to 4, and $q should go from 3 to 49699  $j=39700    $q=39701    $q=49702  $j=49703    $q=39704    $q=49705$j should go from 0 to 29706  $j=09707  $j=19708  $j=29709$k should go from 0 to 29710    $k=09711    $k=19712    $k=29713$i=19714$j should go from 3 to 4, and $q should go from 3 to 49715  $j=39716    $q=39717    $q=49718  $j=49719    $q=39720    $q=49721$j should go from 0 to 29722  $j=09723  $j=19724  $j=29725$k should go from 0 to 29726    $k=09727    $k=19728    $k=29729$i=29730***********************9731*** Nested file include test ***9732<html>9733This is Finish.phtml.  This file is supposed to be included9734from regression_test.phtml.  This is normal HTML.9735and this is PHP code, 2+2=49736</html>9737********************************9738Tests completed.9739<html>9740<head>9741*** Testing assignments and variable aliasing: ***9742This should read "blah": blah9743This should read "this is nifty": this is nifty9744*************************************************9745*** Testing integer operators ***9746Correct result - 8:  89747Correct result - 8:  89748Correct result - 2:  29749Correct result - -2:  -29750Correct result - 15:  159751Correct result - 15:  159752Correct result - 2:  29753Correct result - 3:  39754*********************************9755*** Testing real operators ***9756Correct result - 8:  89757Correct result - 8:  89758Correct result - 2:  29759Correct result - -2:  -29760Correct result - 15:  159761Correct result - 15:  159762Correct result - 2:  29763Correct result - 3:  39764*********************************9765*** Testing if/elseif/else control ***9766This  works9767this_still_works9768should_print9769*** Seriously nested if's test ***9770** spelling correction by kluzz **9771Only two lines of text should follow:9772this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=09773this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=497743 loop iterations should follow:97752 497763 497774 49778**********************************9779*** C-style else-if's ***9780This should be displayed9781*************************9782*** WHILE tests ***97830 is smaller than 2097841 is smaller than 2097852 is smaller than 2097863 is smaller than 2097874 is smaller than 2097885 is smaller than 2097896 is smaller than 2097907 is smaller than 2097918 is smaller than 2097929 is smaller than 20979310 is smaller than 20979411 is smaller than 20979512 is smaller than 20979613 is smaller than 20979714 is smaller than 20979815 is smaller than 20979916 is smaller than 20980017 is smaller than 20980118 is smaller than 20980219 is smaller than 20980320 equals 20980421 is greater than 20980522 is greater than 20980623 is greater than 20980724 is greater than 20980825 is greater than 20980926 is greater than 20981027 is greater than 20981128 is greater than 20981229 is greater than 20981330 is greater than 20981431 is greater than 20981532 is greater than 20981633 is greater than 20981734 is greater than 20981835 is greater than 20981936 is greater than 20982037 is greater than 20982138 is greater than 20982239 is greater than 209823*******************9824*** Nested WHILEs ***9825Each array variable should be equal to the sum of its indices:9826${test00}[0] = 09827${test00}[1] = 19828${test00}[2] = 29829${test01}[0] = 19830${test01}[1] = 29831${test01}[2] = 39832${test02}[0] = 29833${test02}[1] = 39834${test02}[2] = 49835${test10}[0] = 19836${test10}[1] = 29837${test10}[2] = 39838${test11}[0] = 29839${test11}[1] = 39840${test11}[2] = 49841${test12}[0] = 39842${test12}[1] = 49843${test12}[2] = 59844${test20}[0] = 29845${test20}[1] = 39846${test20}[2] = 49847${test21}[0] = 39848${test21}[1] = 49849${test21}[2] = 59850${test22}[0] = 49851${test22}[1] = 59852${test22}[2] = 69853*********************9854*** hash test... ***9855commented out...9856**************************9857*** Hash resizing test ***9858ba9859baa9860baaa9861baaaa9862baaaaa9863baaaaaa9864baaaaaaa9865baaaaaaaa9866baaaaaaaaa9867baaaaaaaaaa9868ba9869109870baa987199872baaa987389874baaaa987579876baaaaa987769878baaaaaa987959880baaaaaaa988149882baaaaaaaa988339884baaaaaaaaa988529886baaaaaaaaaa988719888**************************9889*** break/continue test ***9890$i should go from 0 to 29891$j should go from 3 to 4, and $q should go from 3 to 49892  $j=39893    $q=39894    $q=49895  $j=49896    $q=39897    $q=49898$j should go from 0 to 29899  $j=09900  $j=19901  $j=29902$k should go from 0 to 29903    $k=09904    $k=19905    $k=29906$i=09907$j should go from 3 to 4, and $q should go from 3 to 49908  $j=39909    $q=39910    $q=49911  $j=49912    $q=39913    $q=49914$j should go from 0 to 29915  $j=09916  $j=19917  $j=29918$k should go from 0 to 29919    $k=09920    $k=19921    $k=29922$i=19923$j should go from 3 to 4, and $q should go from 3 to 49924  $j=39925    $q=39926    $q=49927  $j=49928    $q=39929    $q=49930$j should go from 0 to 29931  $j=09932  $j=19933  $j=29934$k should go from 0 to 29935    $k=09936    $k=19937    $k=29938$i=29939***********************9940*** Nested file include test ***9941<html>9942This is Finish.phtml.  This file is supposed to be included9943from regression_test.phtml.  This is normal HTML.9944and this is PHP code, 2+2=49945</html>9946********************************9947Tests completed.9948<html>9949<head>9950*** Testing assignments and variable aliasing: ***9951This should read "blah": blah9952This should read "this is nifty": this is nifty9953*************************************************9954*** Testing integer operators ***9955Correct result - 8:  89956Correct result - 8:  89957Correct result - 2:  29958Correct result - -2:  -29959Correct result - 15:  159960Correct result - 15:  159961Correct result - 2:  29962Correct result - 3:  39963*********************************9964*** Testing real operators ***9965Correct result - 8:  89966Correct result - 8:  89967Correct result - 2:  29968Correct result - -2:  -29969Correct result - 15:  159970Correct result - 15:  159971Correct result - 2:  29972Correct result - 3:  39973*********************************9974*** Testing if/elseif/else control ***9975This  works9976this_still_works9977should_print9978*** Seriously nested if's test ***9979** spelling correction by kluzz **9980Only two lines of text should follow:9981this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=09982this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=499833 loop iterations should follow:99842 499853 499864 49987**********************************9988*** C-style else-if's ***9989This should be displayed9990*************************9991*** WHILE tests ***99920 is smaller than 2099931 is smaller than 2099942 is smaller than 2099953 is smaller than 2099964 is smaller than 2099975 is smaller than 2099986 is smaller than 2099997 is smaller than 20100008 is smaller than 20100019 is smaller than 201000210 is smaller than 201000311 is smaller than 201000412 is smaller than 201000513 is smaller than 201000614 is smaller than 201000715 is smaller than 201000816 is smaller than 201000917 is smaller than 201001018 is smaller than 201001119 is smaller than 201001220 equals 201001321 is greater than 201001422 is greater than 201001523 is greater than 201001624 is greater than 201001725 is greater than 201001826 is greater than 201001927 is greater than 201002028 is greater than 201002129 is greater than 201002230 is greater than 201002331 is greater than 201002432 is greater than 201002533 is greater than 201002634 is greater than 201002735 is greater than 201002836 is greater than 201002937 is greater than 201003038 is greater than 201003139 is greater than 2010032*******************10033*** Nested WHILEs ***10034Each array variable should be equal to the sum of its indices:10035${test00}[0] = 010036${test00}[1] = 110037${test00}[2] = 210038${test01}[0] = 110039${test01}[1] = 210040${test01}[2] = 310041${test02}[0] = 210042${test02}[1] = 310043${test02}[2] = 410044${test10}[0] = 110045${test10}[1] = 210046${test10}[2] = 310047${test11}[0] = 210048${test11}[1] = 310049${test11}[2] = 410050${test12}[0] = 310051${test12}[1] = 410052${test12}[2] = 510053${test20}[0] = 210054${test20}[1] = 310055${test20}[2] = 410056${test21}[0] = 310057${test21}[1] = 410058${test21}[2] = 510059${test22}[0] = 410060${test22}[1] = 510061${test22}[2] = 610062*********************10063*** hash test... ***10064commented out...10065**************************10066*** Hash resizing test ***10067ba10068baa10069baaa10070baaaa10071baaaaa10072baaaaaa10073baaaaaaa10074baaaaaaaa10075baaaaaaaaa10076baaaaaaaaaa10077ba100781010079baa10080910081baaa10082810083baaaa10084710085baaaaa10086610087baaaaaa10088510089baaaaaaa10090410091baaaaaaaa10092310093baaaaaaaaa10094210095baaaaaaaaaa10096110097**************************10098*** break/continue test ***10099$i should go from 0 to 210100$j should go from 3 to 4, and $q should go from 3 to 410101  $j=310102    $q=310103    $q=410104  $j=410105    $q=310106    $q=410107$j should go from 0 to 210108  $j=010109  $j=110110  $j=210111$k should go from 0 to 210112    $k=010113    $k=110114    $k=210115$i=010116$j should go from 3 to 4, and $q should go from 3 to 410117  $j=310118    $q=310119    $q=410120  $j=410121    $q=310122    $q=410123$j should go from 0 to 210124  $j=010125  $j=110126  $j=210127$k should go from 0 to 210128    $k=010129    $k=110130    $k=210131$i=110132$j should go from 3 to 4, and $q should go from 3 to 410133  $j=310134    $q=310135    $q=410136  $j=410137    $q=310138    $q=410139$j should go from 0 to 210140  $j=010141  $j=110142  $j=210143$k should go from 0 to 210144    $k=010145    $k=110146    $k=210147$i=210148***********************10149*** Nested file include test ***10150<html>10151This is Finish.phtml.  This file is supposed to be included10152from regression_test.phtml.  This is normal HTML.10153and this is PHP code, 2+2=410154</html>10155********************************10156Tests completed.10157<html>10158<head>10159*** Testing assignments and variable aliasing: ***10160This should read "blah": blah10161This should read "this is nifty": this is nifty10162*************************************************10163*** Testing integer operators ***10164Correct result - 8:  810165Correct result - 8:  810166Correct result - 2:  210167Correct result - -2:  -210168Correct result - 15:  1510169Correct result - 15:  1510170Correct result - 2:  210171Correct result - 3:  310172*********************************10173*** Testing real operators ***10174Correct result - 8:  810175Correct result - 8:  810176Correct result - 2:  210177Correct result - -2:  -210178Correct result - 15:  1510179Correct result - 15:  1510180Correct result - 2:  210181Correct result - 3:  310182*********************************10183*** Testing if/elseif/else control ***10184This  works10185this_still_works10186should_print10187*** Seriously nested if's test ***10188** spelling correction by kluzz **10189Only two lines of text should follow:10190this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=010191this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=4101923 loop iterations should follow:101932 4101943 4101954 410196**********************************10197*** C-style else-if's ***10198This should be displayed10199*************************10200*** WHILE tests ***102010 is smaller than 20102021 is smaller than 20102032 is smaller than 20102043 is smaller than 20102054 is smaller than 20102065 is smaller than 20102076 is smaller than 20102087 is smaller than 20102098 is smaller than 20102109 is smaller than 201021110 is smaller than 201021211 is smaller than 201021312 is smaller than 201021413 is smaller than 201021514 is smaller than 201021615 is smaller than 201021716 is smaller than 201021817 is smaller than 201021918 is smaller than 201022019 is smaller than 201022120 equals 201022221 is greater than 201022322 is greater than 201022423 is greater than 201022524 is greater than 201022625 is greater than 201022726 is greater than 201022827 is greater than 201022928 is greater than 201023029 is greater than 201023130 is greater than 201023231 is greater than 201023332 is greater than 201023433 is greater than 201023534 is greater than 201023635 is greater than 201023736 is greater than 201023837 is greater than 201023938 is greater than 201024039 is greater than 2010241*******************10242*** Nested WHILEs ***10243Each array variable should be equal to the sum of its indices:10244${test00}[0] = 010245${test00}[1] = 110246${test00}[2] = 210247${test01}[0] = 110248${test01}[1] = 210249${test01}[2] = 310250${test02}[0] = 210251${test02}[1] = 310252${test02}[2] = 410253${test10}[0] = 110254${test10}[1] = 210255${test10}[2] = 310256${test11}[0] = 210257${test11}[1] = 310258${test11}[2] = 410259${test12}[0] = 310260${test12}[1] = 410261${test12}[2] = 510262${test20}[0] = 210263${test20}[1] = 310264${test20}[2] = 410265${test21}[0] = 310266${test21}[1] = 410267${test21}[2] = 510268${test22}[0] = 410269${test22}[1] = 510270${test22}[2] = 610271*********************10272*** hash test... ***10273commented out...10274**************************10275*** Hash resizing test ***10276ba10277baa10278baaa10279baaaa10280baaaaa10281baaaaaa10282baaaaaaa10283baaaaaaaa10284baaaaaaaaa10285baaaaaaaaaa10286ba102871010288baa10289910290baaa10291810292baaaa10293710294baaaaa10295610296baaaaaa10297510298baaaaaaa10299410300baaaaaaaa10301310302baaaaaaaaa10303210304baaaaaaaaaa10305110306**************************10307*** break/continue test ***10308$i should go from 0 to 210309$j should go from 3 to 4, and $q should go from 3 to 410310  $j=310311    $q=310312    $q=410313  $j=410314    $q=310315    $q=410316$j should go from 0 to 210317  $j=010318  $j=110319  $j=210320$k should go from 0 to 210321    $k=010322    $k=110323    $k=210324$i=010325$j should go from 3 to 4, and $q should go from 3 to 410326  $j=310327    $q=310328    $q=410329  $j=410330    $q=310331    $q=410332$j should go from 0 to 210333  $j=010334  $j=110335  $j=210336$k should go from 0 to 210337    $k=010338    $k=110339    $k=210340$i=110341$j should go from 3 to 4, and $q should go from 3 to 410342  $j=310343    $q=310344    $q=410345  $j=410346    $q=310347    $q=410348$j should go from 0 to 210349  $j=010350  $j=110351  $j=210352$k should go from 0 to 210353    $k=010354    $k=110355    $k=210356$i=210357***********************10358*** Nested file include test ***10359<html>10360This is Finish.phtml.  This file is supposed to be included10361from regression_test.phtml.  This is normal HTML.10362and this is PHP code, 2+2=410363</html>10364********************************10365Tests completed.10366<html>10367<head>10368*** Testing assignments and variable aliasing: ***10369This should read "blah": blah10370This should read "this is nifty": this is nifty10371*************************************************10372*** Testing integer operators ***10373Correct result - 8:  810374Correct result - 8:  810375Correct result - 2:  210376Correct result - -2:  -210377Correct result - 15:  1510378Correct result - 15:  1510379Correct result - 2:  210380Correct result - 3:  310381*********************************10382*** Testing real operators ***10383Correct result - 8:  810384Correct result - 8:  810385Correct result - 2:  210386Correct result - -2:  -210387Correct result - 15:  1510388Correct result - 15:  1510389Correct result - 2:  210390Correct result - 3:  310391*********************************10392*** Testing if/elseif/else control ***10393This  works10394this_still_works10395should_print10396*** Seriously nested if's test ***10397** spelling correction by kluzz **10398Only two lines of text should follow:10399this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=010400this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=4104013 loop iterations should follow:104022 4104033 4104044 410405**********************************10406*** C-style else-if's ***10407This should be displayed10408*************************10409*** WHILE tests ***104100 is smaller than 20104111 is smaller than 20104122 is smaller than 20104133 is smaller than 20104144 is smaller than 20104155 is smaller than 20104166 is smaller than 20104177 is smaller than 20104188 is smaller than 20104199 is smaller than 201042010 is smaller than 201042111 is smaller than 201042212 is smaller than 201042313 is smaller than 201042414 is smaller than 201042515 is smaller than 201042616 is smaller than 201042717 is smaller than 201042818 is smaller than 201042919 is smaller than 201043020 equals 201043121 is greater than 201043222 is greater than 201043323 is greater than 201043424 is greater than 201043525 is greater than 201043626 is greater than 201043727 is greater than 201043828 is greater than 201043929 is greater than 201044030 is greater than 201044131 is greater than 201044232 is greater than 201044333 is greater than 201044434 is greater than 201044535 is greater than 201044636 is greater than 201044737 is greater than 201044838 is greater than 201044939 is greater than 2010450*******************10451*** Nested WHILEs ***10452Each array variable should be equal to the sum of its indices:10453${test00}[0] = 010454${test00}[1] = 110455${test00}[2] = 210456${test01}[0] = 110457${test01}[1] = 210458${test01}[2] = 310459${test02}[0] = 210460${test02}[1] = 310461${test02}[2] = 410462${test10}[0] = 110463${test10}[1] = 210464${test10}[2] = 310465${test11}[0] = 210466${test11}[1] = 310467${test11}[2] = 410468${test12}[0] = 310469${test12}[1] = 410470${test12}[2] = 510471${test20}[0] = 210472${test20}[1] = 310473${test20}[2] = 410474${test21}[0] = 310475${test21}[1] = 410476${test21}[2] = 510477${test22}[0] = 410478${test22}[1] = 510479${test22}[2] = 610480*********************10481*** hash test... ***10482commented out...10483**************************10484*** Hash resizing test ***10485ba10486baa10487baaa10488baaaa10489baaaaa10490baaaaaa10491baaaaaaa10492baaaaaaaa10493baaaaaaaaa10494baaaaaaaaaa10495ba104961010497baa10498910499baaa10500810501baaaa10502710503baaaaa10504610505baaaaaa10506510507baaaaaaa10508410509baaaaaaaa10510310511baaaaaaaaa10512210513baaaaaaaaaa10514110515**************************10516*** break/continue test ***10517$i should go from 0 to 210518$j should go from 3 to 4, and $q should go from 3 to 410519  $j=310520    $q=310521    $q=410522  $j=410523    $q=310524    $q=410525$j should go from 0 to 210526  $j=010527  $j=110528  $j=210529$k should go from 0 to 210530    $k=010531    $k=110532    $k=210533$i=010534$j should go from 3 to 4, and $q should go from 3 to 410535  $j=310536    $q=310537    $q=410538  $j=410539    $q=310540    $q=410541$j should go from 0 to 210542  $j=010543  $j=110544  $j=210545$k should go from 0 to 210546    $k=010547    $k=110548    $k=210549$i=110550$j should go from 3 to 4, and $q should go from 3 to 410551  $j=310552    $q=310553    $q=410554  $j=410555    $q=310556    $q=410557$j should go from 0 to 210558  $j=010559  $j=110560  $j=210561$k should go from 0 to 210562    $k=010563    $k=110564    $k=210565$i=210566***********************10567*** Nested file include test ***10568<html>10569This is Finish.phtml.  This file is supposed to be included10570from regression_test.phtml.  This is normal HTML.10571and this is PHP code, 2+2=410572</html>10573********************************10574Tests completed.10575<html>10576<head>10577*** Testing assignments and variable aliasing: ***10578This should read "blah": blah10579This should read "this is nifty": this is nifty10580*************************************************10581*** Testing integer operators ***10582Correct result - 8:  810583Correct result - 8:  810584Correct result - 2:  210585Correct result - -2:  -210586Correct result - 15:  1510587Correct result - 15:  1510588Correct result - 2:  210589Correct result - 3:  310590*********************************10591*** Testing real operators ***10592Correct result - 8:  810593Correct result - 8:  810594Correct result - 2:  210595Correct result - -2:  -210596Correct result - 15:  1510597Correct result - 15:  1510598Correct result - 2:  210599Correct result - 3:  310600*********************************10601*** Testing if/elseif/else control ***10602This  works10603this_still_works10604should_print10605*** Seriously nested if's test ***10606** spelling correction by kluzz **10607Only two lines of text should follow:10608this should be displayed. should be:  $i=1, $j=0.  is:  $i=1, $j=010609this is supposed to be displayed. should be:  $i=2, $j=4.  is:  $i=2, $j=4106103 loop iterations should follow:106112 4106123 4106134 410614**********************************10615*** C-style else-if's ***10616This should be displayed10617*************************10618*** WHILE tests ***106190 is smaller than 20106201 is smaller than 20106212 is smaller than 20106223 is smaller than 20106234 is smaller than 20106245 is smaller than 20106256 is smaller than 20106267 is smaller than 20106278 is smaller than 20106289 is smaller than 201062910 is smaller than 201063011 is smaller than 201063112 is smaller than 201063213 is smaller than 201063314 is smaller than 201063415 is smaller than 201063516 is smaller than 201063617 is smaller than 201063718 is smaller than 201063819 is smaller than 201063920 equals 201064021 is greater than 201064122 is greater than 201064223 is greater than 201064324 is greater than 201064425 is greater than 201064526 is greater than 201064627 is greater than 201064728 is greater than 201064829 is greater than 201064930 is greater than 201065031 is greater than 201065132 is greater than 201065233 is greater than 201065334 is greater than 201065435 is greater than 201065536 is greater than 201065637 is greater than 201065738 is greater than 201065839 is greater than 2010659*******************10660*** Nested WHILEs ***10661Each array variable should be equal to the sum of its indices:10662${test00}[0] = 010663${test00}[1] = 110664${test00}[2] = 210665${test01}[0] = 110666${test01}[1] = 210667${test01}[2] = 310668${test02}[0] = 210669${test02}[1] = 310670${test02}[2] = 410671${test10}[0] = 110672${test10}[1] = 210673${test10}[2] = 310674${test11}[0] = 210675${test11}[1] = 310676${test11}[2] = 410677${test12}[0] = 310678${test12}[1] = 410679${test12}[2] = 510680${test20}[0] = 210681${test20}[1] = 310682${test20}[2] = 410683${test21}[0] = 310684${test21}[1] = 410685${test21}[2] = 510686${test22}[0] = 410687${test22}[1] = 510688${test22}[2] = 610689*********************10690*** hash test... ***10691commented out...10692**************************10693*** Hash resizing test ***10694ba10695baa10696baaa10697baaaa10698baaaaa10699baaaaaa10700baaaaaaa10701baaaaaaaa10702baaaaaaaaa10703baaaaaaaaaa10704ba107051010706baa10707910708baaa10709810710baaaa10711710712baaaaa10713610714baaaaaa10715510716baaaaaaa10717410718baaaaaaaa10719310720baaaaaaaaa10721210722baaaaaaaaaa10723110724**************************10725*** break/continue test ***10726$i should go from 0 to 210727$j should go from 3 to 4, and $q should go from 3 to 410728  $j=310729    $q=310730    $q=410731  $j=410732    $q=310733    $q=410734$j should go from 0 to 210735  $j=010736  $j=110737  $j=210738$k should go from 0 to 210739    $k=010740    $k=110741    $k=210742$i=010743$j should go from 3 to 4, and $q should go from 3 to 410744  $j=310745    $q=310746    $q=410747  $j=410748    $q=310749    $q=410750$j should go from 0 to 210751  $j=010752  $j=110753  $j=210754$k should go from 0 to 210755    $k=010756    $k=110757    $k=210758$i=110759$j should go from 3 to 4, and $q should go from 3 to 410760  $j=310761    $q=310762    $q=410763  $j=410764    $q=310765    $q=410766$j should go from 0 to 210767  $j=010768  $j=110769  $j=210770$k should go from 0 to 210771    $k=010772    $k=110773    $k=210774$i=210775***********************10776*** Nested file include test ***10777<html>10778This is Finish.phtml.  This file is supposed to be included10779from regression_test.phtml.  This is normal HTML.10780and this is PHP code, 2+2=410781</html>10782********************************10783Tests completed....baked_in.go
Source:baked_in.go  
...42		utf8HexComma:      {},43		utf8Pipe:          {},44		noStructLevelTag:  {},45		requiredTag:       {},46		isdefault:         {},47	}48	// BakedInAliasValidators is a default mapping of a single validation tag that49	// defines a common or complex set of validation(s) to simplify50	// adding validation to structs.51	bakedInAliases = map[string]string{52		"iscolor": "hexcolor|rgb|rgba|hsl|hsla",53	}54	// BakedInValidators is the default map of ValidationFunc55	// you can add, remove or even replace items to suite your needs,56	// or even disregard and use your own map if so desired.57	bakedInValidators = map[string]Func{58		"required":             hasValue,59		"required_with":        requiredWith,60		"required_with_all":    requiredWithAll,61		"required_without":     requiredWithout,62		"required_without_all": requiredWithoutAll,63		"isdefault":            isDefault,64		"len":                  hasLengthOf,65		"min":                  hasMinOf,66		"max":                  hasMaxOf,67		"eq":                   isEq,68		"ne":                   isNe,69		"lt":                   isLt,70		"lte":                  isLte,71		"gt":                   isGt,72		"gte":                  isGte,73		"eqfield":              isEqField,74		"eqcsfield":            isEqCrossStructField,75		"necsfield":            isNeCrossStructField,76		"gtcsfield":            isGtCrossStructField,77		"gtecsfield":           isGteCrossStructField,78		"ltcsfield":            isLtCrossStructField,79		"ltecsfield":           isLteCrossStructField,80		"nefield":              isNeField,81		"gtefield":             isGteField,82		"gtfield":              isGtField,83		"ltefield":             isLteField,84		"ltfield":              isLtField,85		"fieldcontains":        fieldContains,86		"fieldexcludes":        fieldExcludes,87		"alpha":                isAlpha,88		"alphanum":             isAlphanum,89		"alphaunicode":         isAlphaUnicode,90		"alphanumunicode":      isAlphanumUnicode,91		"numeric":              isNumeric,92		"number":               isNumber,93		"hexadecimal":          isHexadecimal,94		"hexcolor":             isHEXColor,95		"rgb":                  isRGB,96		"rgba":                 isRGBA,97		"hsl":                  isHSL,98		"hsla":                 isHSLA,99		"e164":                 isE164,100		"email":                isEmail,101		"url":                  isURL,102		"uri":                  isURI,103		"urn_rfc2141":          isUrnRFC2141, // RFC 2141104		"file":                 isFile,105		"base64":               isBase64,106		"base64url":            isBase64URL,107		"contains":             contains,108		"containsany":          containsAny,109		"containsrune":         containsRune,110		"excludes":             excludes,111		"excludesall":          excludesAll,112		"excludesrune":         excludesRune,113		"startswith":           startsWith,114		"endswith":             endsWith,115		"isbn":                 isISBN,116		"isbn10":               isISBN10,117		"isbn13":               isISBN13,118		"eth_addr":             isEthereumAddress,119		"btc_addr":             isBitcoinAddress,120		"btc_addr_bech32":      isBitcoinBech32Address,121		"uuid":                 isUUID,122		"uuid3":                isUUID3,123		"uuid4":                isUUID4,124		"uuid5":                isUUID5,125		"uuid_rfc4122":         isUUIDRFC4122,126		"uuid3_rfc4122":        isUUID3RFC4122,127		"uuid4_rfc4122":        isUUID4RFC4122,128		"uuid5_rfc4122":        isUUID5RFC4122,129		"ascii":                isASCII,130		"printascii":           isPrintableASCII,131		"multibyte":            hasMultiByteCharacter,132		"datauri":              isDataURI,133		"latitude":             isLatitude,134		"longitude":            isLongitude,135		"ssn":                  isSSN,136		"ipv4":                 isIPv4,137		"ipv6":                 isIPv6,138		"ip":                   isIP,139		"cidrv4":               isCIDRv4,140		"cidrv6":               isCIDRv6,141		"cidr":                 isCIDR,142		"tcp4_addr":            isTCP4AddrResolvable,143		"tcp6_addr":            isTCP6AddrResolvable,144		"tcp_addr":             isTCPAddrResolvable,145		"udp4_addr":            isUDP4AddrResolvable,146		"udp6_addr":            isUDP6AddrResolvable,147		"udp_addr":             isUDPAddrResolvable,148		"ip4_addr":             isIP4AddrResolvable,149		"ip6_addr":             isIP6AddrResolvable,150		"ip_addr":              isIPAddrResolvable,151		"unix_addr":            isUnixAddrResolvable,152		"mac":                  isMAC,153		"hostname":             isHostnameRFC952,  // RFC 952154		"hostname_rfc1123":     isHostnameRFC1123, // RFC 1123155		"fqdn":                 isFQDN,156		"unique":               isUnique,157		"oneof":                isOneOf,158		"html":                 isHTML,159		"html_encoded":         isHTMLEncoded,160		"url_encoded":          isURLEncoded,161		"dir":                  isDir,162		"json":                 isJSON,163		"hostname_port":        isHostnamePort,164		"lowercase":            isLowercase,165		"uppercase":            isUppercase,166		"datetime":             isDatetime,167	}168)169var oneofValsCache = map[string][]string{}170var oneofValsCacheRWLock = sync.RWMutex{}171func parseOneOfParam2(s string) []string {172	oneofValsCacheRWLock.RLock()173	vals, ok := oneofValsCache[s]174	oneofValsCacheRWLock.RUnlock()175	if !ok {176		oneofValsCacheRWLock.Lock()177		vals = splitParamsRegex.FindAllString(s, -1)178		for i := 0; i < len(vals); i++ {179			vals[i] = strings.Replace(vals[i], "'", "", -1)180		}181		oneofValsCache[s] = vals182		oneofValsCacheRWLock.Unlock()183	}184	return vals185}186func isURLEncoded(fl FieldLevel) bool {187	return uRLEncodedRegex.MatchString(fl.Field().String())188}189func isHTMLEncoded(fl FieldLevel) bool {190	return hTMLEncodedRegex.MatchString(fl.Field().String())191}192func isHTML(fl FieldLevel) bool {193	return hTMLRegex.MatchString(fl.Field().String())194}195func isOneOf(fl FieldLevel) bool {196	vals := parseOneOfParam2(fl.Param())197	field := fl.Field()198	var v string199	switch field.Kind() {200	case reflect.String:201		v = field.String()202	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:203		v = strconv.FormatInt(field.Int(), 10)204	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:205		v = strconv.FormatUint(field.Uint(), 10)206	default:207		panic(fmt.Sprintf("Bad field type %T", field.Interface()))208	}209	for i := 0; i < len(vals); i++ {210		if vals[i] == v {211			return true212		}213	}214	return false215}216// isUnique is the validation function for validating if each array|slice|map value is unique217func isUnique(fl FieldLevel) bool {218	field := fl.Field()219	param := fl.Param()220	v := reflect.ValueOf(struct{}{})221	switch field.Kind() {222	case reflect.Slice, reflect.Array:223		if param == "" {224			m := reflect.MakeMap(reflect.MapOf(field.Type().Elem(), v.Type()))225			for i := 0; i < field.Len(); i++ {226				m.SetMapIndex(field.Index(i), v)227			}228			return field.Len() == m.Len()229		}230		sf, ok := field.Type().Elem().FieldByName(param)231		if !ok {232			panic(fmt.Sprintf("Bad field name %s", param))233		}234		m := reflect.MakeMap(reflect.MapOf(sf.Type, v.Type()))235		for i := 0; i < field.Len(); i++ {236			m.SetMapIndex(field.Index(i).FieldByName(param), v)237		}238		return field.Len() == m.Len()239	case reflect.Map:240		m := reflect.MakeMap(reflect.MapOf(field.Type().Elem(), v.Type()))241		for _, k := range field.MapKeys() {242			m.SetMapIndex(field.MapIndex(k), v)243		}244		return field.Len() == m.Len()245	default:246		panic(fmt.Sprintf("Bad field type %T", field.Interface()))247	}248}249// IsMAC is the validation function for validating if the field's value is a valid MAC address.250func isMAC(fl FieldLevel) bool {251	_, err := net.ParseMAC(fl.Field().String())252	return err == nil253}254// IsCIDRv4 is the validation function for validating if the field's value is a valid v4 CIDR address.255func isCIDRv4(fl FieldLevel) bool {256	ip, _, err := net.ParseCIDR(fl.Field().String())257	return err == nil && ip.To4() != nil258}259// IsCIDRv6 is the validation function for validating if the field's value is a valid v6 CIDR address.260func isCIDRv6(fl FieldLevel) bool {261	ip, _, err := net.ParseCIDR(fl.Field().String())262	return err == nil && ip.To4() == nil263}264// IsCIDR is the validation function for validating if the field's value is a valid v4 or v6 CIDR address.265func isCIDR(fl FieldLevel) bool {266	_, _, err := net.ParseCIDR(fl.Field().String())267	return err == nil268}269// IsIPv4 is the validation function for validating if a value is a valid v4 IP address.270func isIPv4(fl FieldLevel) bool {271	ip := net.ParseIP(fl.Field().String())272	return ip != nil && ip.To4() != nil273}274// IsIPv6 is the validation function for validating if the field's value is a valid v6 IP address.275func isIPv6(fl FieldLevel) bool {276	ip := net.ParseIP(fl.Field().String())277	return ip != nil && ip.To4() == nil278}279// IsIP is the validation function for validating if the field's value is a valid v4 or v6 IP address.280func isIP(fl FieldLevel) bool {281	ip := net.ParseIP(fl.Field().String())282	return ip != nil283}284// IsSSN is the validation function for validating if the field's value is a valid SSN.285func isSSN(fl FieldLevel) bool {286	field := fl.Field()287	if field.Len() != 11 {288		return false289	}290	return sSNRegex.MatchString(field.String())291}292// IsLongitude is the validation function for validating if the field's value is a valid longitude coordinate.293func isLongitude(fl FieldLevel) bool {294	field := fl.Field()295	var v string296	switch field.Kind() {297	case reflect.String:298		v = field.String()299	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:300		v = strconv.FormatInt(field.Int(), 10)301	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:302		v = strconv.FormatUint(field.Uint(), 10)303	case reflect.Float32:304		v = strconv.FormatFloat(field.Float(), 'f', -1, 32)305	case reflect.Float64:306		v = strconv.FormatFloat(field.Float(), 'f', -1, 64)307	default:308		panic(fmt.Sprintf("Bad field type %T", field.Interface()))309	}310	return longitudeRegex.MatchString(v)311}312// IsLatitude is the validation function for validating if the field's value is a valid latitude coordinate.313func isLatitude(fl FieldLevel) bool {314	field := fl.Field()315	var v string316	switch field.Kind() {317	case reflect.String:318		v = field.String()319	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:320		v = strconv.FormatInt(field.Int(), 10)321	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:322		v = strconv.FormatUint(field.Uint(), 10)323	case reflect.Float32:324		v = strconv.FormatFloat(field.Float(), 'f', -1, 32)325	case reflect.Float64:326		v = strconv.FormatFloat(field.Float(), 'f', -1, 64)327	default:328		panic(fmt.Sprintf("Bad field type %T", field.Interface()))329	}330	return latitudeRegex.MatchString(v)331}332// IsDataURI is the validation function for validating if the field's value is a valid data URI.333func isDataURI(fl FieldLevel) bool {334	uri := strings.SplitN(fl.Field().String(), ",", 2)335	if len(uri) != 2 {336		return false337	}338	if !dataURIRegex.MatchString(uri[0]) {339		return false340	}341	return base64Regex.MatchString(uri[1])342}343// HasMultiByteCharacter is the validation function for validating if the field's value has a multi byte character.344func hasMultiByteCharacter(fl FieldLevel) bool {345	field := fl.Field()346	if field.Len() == 0 {347		return true348	}349	return multibyteRegex.MatchString(field.String())350}351// IsPrintableASCII is the validation function for validating if the field's value is a valid printable ASCII character.352func isPrintableASCII(fl FieldLevel) bool {353	return printableASCIIRegex.MatchString(fl.Field().String())354}355// IsASCII is the validation function for validating if the field's value is a valid ASCII character.356func isASCII(fl FieldLevel) bool {357	return aSCIIRegex.MatchString(fl.Field().String())358}359// IsUUID5 is the validation function for validating if the field's value is a valid v5 UUID.360func isUUID5(fl FieldLevel) bool {361	return uUID5Regex.MatchString(fl.Field().String())362}363// IsUUID4 is the validation function for validating if the field's value is a valid v4 UUID.364func isUUID4(fl FieldLevel) bool {365	return uUID4Regex.MatchString(fl.Field().String())366}367// IsUUID3 is the validation function for validating if the field's value is a valid v3 UUID.368func isUUID3(fl FieldLevel) bool {369	return uUID3Regex.MatchString(fl.Field().String())370}371// IsUUID is the validation function for validating if the field's value is a valid UUID of any version.372func isUUID(fl FieldLevel) bool {373	return uUIDRegex.MatchString(fl.Field().String())374}375// IsUUID5RFC4122 is the validation function for validating if the field's value is a valid RFC4122 v5 UUID.376func isUUID5RFC4122(fl FieldLevel) bool {377	return uUID5RFC4122Regex.MatchString(fl.Field().String())378}379// IsUUID4RFC4122 is the validation function for validating if the field's value is a valid RFC4122 v4 UUID.380func isUUID4RFC4122(fl FieldLevel) bool {381	return uUID4RFC4122Regex.MatchString(fl.Field().String())382}383// IsUUID3RFC4122 is the validation function for validating if the field's value is a valid RFC4122 v3 UUID.384func isUUID3RFC4122(fl FieldLevel) bool {385	return uUID3RFC4122Regex.MatchString(fl.Field().String())386}387// IsUUIDRFC4122 is the validation function for validating if the field's value is a valid RFC4122 UUID of any version.388func isUUIDRFC4122(fl FieldLevel) bool {389	return uUIDRFC4122Regex.MatchString(fl.Field().String())390}391// IsISBN is the validation function for validating if the field's value is a valid v10 or v13 ISBN.392func isISBN(fl FieldLevel) bool {393	return isISBN10(fl) || isISBN13(fl)394}395// IsISBN13 is the validation function for validating if the field's value is a valid v13 ISBN.396func isISBN13(fl FieldLevel) bool {397	s := strings.Replace(strings.Replace(fl.Field().String(), "-", "", 4), " ", "", 4)398	if !iSBN13Regex.MatchString(s) {399		return false400	}401	var checksum int32402	var i int32403	factor := []int32{1, 3}404	for i = 0; i < 12; i++ {405		checksum += factor[i%2] * int32(s[i]-'0')406	}407	return (int32(s[12]-'0'))-((10-(checksum%10))%10) == 0408}409// IsISBN10 is the validation function for validating if the field's value is a valid v10 ISBN.410func isISBN10(fl FieldLevel) bool {411	s := strings.Replace(strings.Replace(fl.Field().String(), "-", "", 3), " ", "", 3)412	if !iSBN10Regex.MatchString(s) {413		return false414	}415	var checksum int32416	var i int32417	for i = 0; i < 9; i++ {418		checksum += (i + 1) * int32(s[i]-'0')419	}420	if s[9] == 'X' {421		checksum += 10 * 10422	} else {423		checksum += 10 * int32(s[9]-'0')424	}425	return checksum%11 == 0426}427// IsEthereumAddress is the validation function for validating if the field's value is a valid ethereum address based currently only on the format428func isEthereumAddress(fl FieldLevel) bool {429	address := fl.Field().String()430	if !ethAddressRegex.MatchString(address) {431		return false432	}433	if ethaddressRegexUpper.MatchString(address) || ethAddressRegexLower.MatchString(address) {434		return true435	}436	// checksum validation is blocked by https://github.com/golang/crypto/pull/28437	return true438}439// IsBitcoinAddress is the validation function for validating if the field's value is a valid btc address440func isBitcoinAddress(fl FieldLevel) bool {441	address := fl.Field().String()442	if !btcAddressRegex.MatchString(address) {443		return false444	}445	alphabet := []byte("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")446	decode := [25]byte{}447	for _, n := range []byte(address) {448		d := bytes.IndexByte(alphabet, n)449		for i := 24; i >= 0; i-- {450			d += 58 * int(decode[i])451			decode[i] = byte(d % 256)452			d /= 256453		}454	}455	h := sha256.New()456	_, _ = h.Write(decode[:21])457	d := h.Sum([]byte{})458	h = sha256.New()459	_, _ = h.Write(d)460	validchecksum := [4]byte{}461	computedchecksum := [4]byte{}462	copy(computedchecksum[:], h.Sum(d[:0]))463	copy(validchecksum[:], decode[21:])464	return validchecksum == computedchecksum465}466// IsBitcoinBech32Address is the validation function for validating if the field's value is a valid bech32 btc address467func isBitcoinBech32Address(fl FieldLevel) bool {468	address := fl.Field().String()469	if !btcLowerAddressRegexBech32.MatchString(address) && !btcUpperAddressRegexBech32.MatchString(address) {470		return false471	}472	am := len(address) % 8473	if am == 0 || am == 3 || am == 5 {474		return false475	}476	address = strings.ToLower(address)477	alphabet := "qpzry9x8gf2tvdw0s3jn54khce6mua7l"478	hr := []int{3, 3, 0, 2, 3} // the human readable part will always be bc479	addr := address[3:]480	dp := make([]int, 0, len(addr))481	for _, c := range addr {482		dp = append(dp, strings.IndexRune(alphabet, c))483	}484	ver := dp[0]485	if ver < 0 || ver > 16 {486		return false487	}488	if ver == 0 {489		if len(address) != 42 && len(address) != 62 {490			return false491		}492	}493	values := append(hr, dp...)494	GEN := []int{0x3b6a57b2, 0x26508e6d, 0x1ea119fa, 0x3d4233dd, 0x2a1462b3}495	p := 1496	for _, v := range values {497		b := p >> 25498		p = (p&0x1ffffff)<<5 ^ v499		for i := 0; i < 5; i++ {500			if (b>>uint(i))&1 == 1 {501				p ^= GEN[i]502			}503		}504	}505	if p != 1 {506		return false507	}508	b := uint(0)509	acc := 0510	mv := (1 << 5) - 1511	var sw []int512	for _, v := range dp[1 : len(dp)-6] {513		acc = (acc << 5) | v514		b += 5515		for b >= 8 {516			b -= 8517			sw = append(sw, (acc>>b)&mv)518		}519	}520	if len(sw) < 2 || len(sw) > 40 {521		return false522	}523	return true524}525// ExcludesRune is the validation function for validating that the field's value does not contain the rune specified within the param.526func excludesRune(fl FieldLevel) bool {527	return !containsRune(fl)528}529// ExcludesAll is the validation function for validating that the field's value does not contain any of the characters specified within the param.530func excludesAll(fl FieldLevel) bool {531	return !containsAny(fl)532}533// Excludes is the validation function for validating that the field's value does not contain the text specified within the param.534func excludes(fl FieldLevel) bool {535	return !contains(fl)536}537// ContainsRune is the validation function for validating that the field's value contains the rune specified within the param.538func containsRune(fl FieldLevel) bool {539	r, _ := utf8.DecodeRuneInString(fl.Param())540	return strings.ContainsRune(fl.Field().String(), r)541}542// ContainsAny is the validation function for validating that the field's value contains any of the characters specified within the param.543func containsAny(fl FieldLevel) bool {544	return strings.ContainsAny(fl.Field().String(), fl.Param())545}546// Contains is the validation function for validating that the field's value contains the text specified within the param.547func contains(fl FieldLevel) bool {548	return strings.Contains(fl.Field().String(), fl.Param())549}550// StartsWith is the validation function for validating that the field's value starts with the text specified within the param.551func startsWith(fl FieldLevel) bool {552	return strings.HasPrefix(fl.Field().String(), fl.Param())553}554// EndsWith is the validation function for validating that the field's value ends with the text specified within the param.555func endsWith(fl FieldLevel) bool {556	return strings.HasSuffix(fl.Field().String(), fl.Param())557}558// FieldContains is the validation function for validating if the current field's value contains the field specified by the param's value.559func fieldContains(fl FieldLevel) bool {560	field := fl.Field()561	currentField, _, ok := fl.GetStructFieldOK()562	if !ok {563		return false564	}565	return strings.Contains(field.String(), currentField.String())566}567// FieldExcludes is the validation function for validating if the current field's value excludes the field specified by the param's value.568func fieldExcludes(fl FieldLevel) bool {569	field := fl.Field()570	currentField, _, ok := fl.GetStructFieldOK()571	if !ok {572		return true573	}574	return !strings.Contains(field.String(), currentField.String())575}576// IsNeField is the validation function for validating if the current field's value is not equal to the field specified by the param's value.577func isNeField(fl FieldLevel) bool {578	field := fl.Field()579	kind := field.Kind()580	currentField, currentKind, ok := fl.GetStructFieldOK()581	if !ok || currentKind != kind {582		return true583	}584	switch kind {585	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:586		return field.Int() != currentField.Int()587	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:588		return field.Uint() != currentField.Uint()589	case reflect.Float32, reflect.Float64:590		return field.Float() != currentField.Float()591	case reflect.Slice, reflect.Map, reflect.Array:592		return int64(field.Len()) != int64(currentField.Len())593	case reflect.Struct:594		fieldType := field.Type()595		// Not Same underlying type i.e. struct and time596		if fieldType != currentField.Type() {597			return true598		}599		if fieldType == timeType {600			t := currentField.Interface().(time.Time)601			fieldTime := field.Interface().(time.Time)602			return !fieldTime.Equal(t)603		}604	}605	// default reflect.String:606	return field.String() != currentField.String()607}608// IsNe is the validation function for validating that the field's value does not equal the provided param value.609func isNe(fl FieldLevel) bool {610	return !isEq(fl)611}612// IsLteCrossStructField is the validation function for validating if the current field's value is less than or equal to the field, within a separate struct, specified by the param's value.613func isLteCrossStructField(fl FieldLevel) bool {614	field := fl.Field()615	kind := field.Kind()616	topField, topKind, ok := fl.GetStructFieldOK()617	if !ok || topKind != kind {618		return false619	}620	switch kind {621	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:622		return field.Int() <= topField.Int()623	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:624		return field.Uint() <= topField.Uint()625	case reflect.Float32, reflect.Float64:626		return field.Float() <= topField.Float()627	case reflect.Slice, reflect.Map, reflect.Array:628		return int64(field.Len()) <= int64(topField.Len())629	case reflect.Struct:630		fieldType := field.Type()631		// Not Same underlying type i.e. struct and time632		if fieldType != topField.Type() {633			return false634		}635		if fieldType == timeType {636			fieldTime := field.Interface().(time.Time)637			topTime := topField.Interface().(time.Time)638			return fieldTime.Before(topTime) || fieldTime.Equal(topTime)639		}640	}641	// default reflect.String:642	return field.String() <= topField.String()643}644// IsLtCrossStructField is the validation function for validating if the current field's value is less than the field, within a separate struct, specified by the param's value.645// NOTE: This is exposed for use within your own custom functions and not intended to be called directly.646func isLtCrossStructField(fl FieldLevel) bool {647	field := fl.Field()648	kind := field.Kind()649	topField, topKind, ok := fl.GetStructFieldOK()650	if !ok || topKind != kind {651		return false652	}653	switch kind {654	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:655		return field.Int() < topField.Int()656	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:657		return field.Uint() < topField.Uint()658	case reflect.Float32, reflect.Float64:659		return field.Float() < topField.Float()660	case reflect.Slice, reflect.Map, reflect.Array:661		return int64(field.Len()) < int64(topField.Len())662	case reflect.Struct:663		fieldType := field.Type()664		// Not Same underlying type i.e. struct and time665		if fieldType != topField.Type() {666			return false667		}668		if fieldType == timeType {669			fieldTime := field.Interface().(time.Time)670			topTime := topField.Interface().(time.Time)671			return fieldTime.Before(topTime)672		}673	}674	// default reflect.String:675	return field.String() < topField.String()676}677// IsGteCrossStructField is the validation function for validating if the current field's value is greater than or equal to the field, within a separate struct, specified by the param's value.678func isGteCrossStructField(fl FieldLevel) bool {679	field := fl.Field()680	kind := field.Kind()681	topField, topKind, ok := fl.GetStructFieldOK()682	if !ok || topKind != kind {683		return false684	}685	switch kind {686	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:687		return field.Int() >= topField.Int()688	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:689		return field.Uint() >= topField.Uint()690	case reflect.Float32, reflect.Float64:691		return field.Float() >= topField.Float()692	case reflect.Slice, reflect.Map, reflect.Array:693		return int64(field.Len()) >= int64(topField.Len())694	case reflect.Struct:695		fieldType := field.Type()696		// Not Same underlying type i.e. struct and time697		if fieldType != topField.Type() {698			return false699		}700		if fieldType == timeType {701			fieldTime := field.Interface().(time.Time)702			topTime := topField.Interface().(time.Time)703			return fieldTime.After(topTime) || fieldTime.Equal(topTime)704		}705	}706	// default reflect.String:707	return field.String() >= topField.String()708}709// IsGtCrossStructField is the validation function for validating if the current field's value is greater than the field, within a separate struct, specified by the param's value.710func isGtCrossStructField(fl FieldLevel) bool {711	field := fl.Field()712	kind := field.Kind()713	topField, topKind, ok := fl.GetStructFieldOK()714	if !ok || topKind != kind {715		return false716	}717	switch kind {718	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:719		return field.Int() > topField.Int()720	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:721		return field.Uint() > topField.Uint()722	case reflect.Float32, reflect.Float64:723		return field.Float() > topField.Float()724	case reflect.Slice, reflect.Map, reflect.Array:725		return int64(field.Len()) > int64(topField.Len())726	case reflect.Struct:727		fieldType := field.Type()728		// Not Same underlying type i.e. struct and time729		if fieldType != topField.Type() {730			return false731		}732		if fieldType == timeType {733			fieldTime := field.Interface().(time.Time)734			topTime := topField.Interface().(time.Time)735			return fieldTime.After(topTime)736		}737	}738	// default reflect.String:739	return field.String() > topField.String()740}741// IsNeCrossStructField is the validation function for validating that the current field's value is not equal to the field, within a separate struct, specified by the param's value.742func isNeCrossStructField(fl FieldLevel) bool {743	field := fl.Field()744	kind := field.Kind()745	topField, currentKind, ok := fl.GetStructFieldOK()746	if !ok || currentKind != kind {747		return true748	}749	switch kind {750	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:751		return topField.Int() != field.Int()752	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:753		return topField.Uint() != field.Uint()754	case reflect.Float32, reflect.Float64:755		return topField.Float() != field.Float()756	case reflect.Slice, reflect.Map, reflect.Array:757		return int64(topField.Len()) != int64(field.Len())758	case reflect.Struct:759		fieldType := field.Type()760		// Not Same underlying type i.e. struct and time761		if fieldType != topField.Type() {762			return true763		}764		if fieldType == timeType {765			t := field.Interface().(time.Time)766			fieldTime := topField.Interface().(time.Time)767			return !fieldTime.Equal(t)768		}769	}770	// default reflect.String:771	return topField.String() != field.String()772}773// IsEqCrossStructField is the validation function for validating that the current field's value is equal to the field, within a separate struct, specified by the param's value.774func isEqCrossStructField(fl FieldLevel) bool {775	field := fl.Field()776	kind := field.Kind()777	topField, topKind, ok := fl.GetStructFieldOK()778	if !ok || topKind != kind {779		return false780	}781	switch kind {782	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:783		return topField.Int() == field.Int()784	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:785		return topField.Uint() == field.Uint()786	case reflect.Float32, reflect.Float64:787		return topField.Float() == field.Float()788	case reflect.Slice, reflect.Map, reflect.Array:789		return int64(topField.Len()) == int64(field.Len())790	case reflect.Struct:791		fieldType := field.Type()792		// Not Same underlying type i.e. struct and time793		if fieldType != topField.Type() {794			return false795		}796		if fieldType == timeType {797			t := field.Interface().(time.Time)798			fieldTime := topField.Interface().(time.Time)799			return fieldTime.Equal(t)800		}801	}802	// default reflect.String:803	return topField.String() == field.String()804}805// IsEqField is the validation function for validating if the current field's value is equal to the field specified by the param's value.806func isEqField(fl FieldLevel) bool {807	field := fl.Field()808	kind := field.Kind()809	currentField, currentKind, ok := fl.GetStructFieldOK()810	if !ok || currentKind != kind {811		return false812	}813	switch kind {814	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:815		return field.Int() == currentField.Int()816	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:817		return field.Uint() == currentField.Uint()818	case reflect.Float32, reflect.Float64:819		return field.Float() == currentField.Float()820	case reflect.Slice, reflect.Map, reflect.Array:821		return int64(field.Len()) == int64(currentField.Len())822	case reflect.Struct:823		fieldType := field.Type()824		// Not Same underlying type i.e. struct and time825		if fieldType != currentField.Type() {826			return false827		}828		if fieldType == timeType {829			t := currentField.Interface().(time.Time)830			fieldTime := field.Interface().(time.Time)831			return fieldTime.Equal(t)832		}833	}834	// default reflect.String:835	return field.String() == currentField.String()836}837// IsEq is the validation function for validating if the current field's value is equal to the param's value.838func isEq(fl FieldLevel) bool {839	field := fl.Field()840	param := fl.Param()841	switch field.Kind() {842	case reflect.String:843		return field.String() == param844	case reflect.Slice, reflect.Map, reflect.Array:845		p := asInt(param)846		return int64(field.Len()) == p847	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:848		p := asInt(param)849		return field.Int() == p850	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:851		p := asUint(param)852		return field.Uint() == p853	case reflect.Float32, reflect.Float64:854		p := asFloat(param)855		return field.Float() == p856	case reflect.Bool:857		p := asBool(param)858		return field.Bool() == p859	}860	panic(fmt.Sprintf("Bad field type %T", field.Interface()))861}862// IsBase64 is the validation function for validating if the current field's value is a valid base 64.863func isBase64(fl FieldLevel) bool {864	return base64Regex.MatchString(fl.Field().String())865}866// IsBase64URL is the validation function for validating if the current field's value is a valid base64 URL safe string.867func isBase64URL(fl FieldLevel) bool {868	return base64URLRegex.MatchString(fl.Field().String())869}870// IsURI is the validation function for validating if the current field's value is a valid URI.871func isURI(fl FieldLevel) bool {872	field := fl.Field()873	switch field.Kind() {874	case reflect.String:875		s := field.String()876		// checks needed as of Go 1.6 because of change https://github.com/golang/go/commit/617c93ce740c3c3cc28cdd1a0d712be183d0b328#diff-6c2d018290e298803c0c9419d8739885L195877		// emulate browser and strip the '#' suffix prior to validation. see issue-#237878		if i := strings.Index(s, "#"); i > -1 {879			s = s[:i]880		}881		if len(s) == 0 {882			return false883		}884		_, err := url.ParseRequestURI(s)885		return err == nil886	}887	panic(fmt.Sprintf("Bad field type %T", field.Interface()))888}889// IsURL is the validation function for validating if the current field's value is a valid URL.890func isURL(fl FieldLevel) bool {891	field := fl.Field()892	switch field.Kind() {893	case reflect.String:894		var i int895		s := field.String()896		// checks needed as of Go 1.6 because of change https://github.com/golang/go/commit/617c93ce740c3c3cc28cdd1a0d712be183d0b328#diff-6c2d018290e298803c0c9419d8739885L195897		// emulate browser and strip the '#' suffix prior to validation. see issue-#237898		if i = strings.Index(s, "#"); i > -1 {899			s = s[:i]900		}901		if len(s) == 0 {902			return false903		}904		url, err := url.ParseRequestURI(s)905		if err != nil || url.Scheme == "" {906			return false907		}908		return true909	}910	panic(fmt.Sprintf("Bad field type %T", field.Interface()))911}912// isUrnRFC2141 is the validation function for validating if the current field's value is a valid URN as per RFC 2141.913func isUrnRFC2141(fl FieldLevel) bool {914	field := fl.Field()915	switch field.Kind() {916	case reflect.String:917		str := field.String()918		_, match := urn.Parse([]byte(str))919		return match920	}921	panic(fmt.Sprintf("Bad field type %T", field.Interface()))922}923// IsFile is the validation function for validating if the current field's value is a valid file path.924func isFile(fl FieldLevel) bool {925	field := fl.Field()926	switch field.Kind() {927	case reflect.String:928		fileInfo, err := os.Stat(field.String())929		if err != nil {930			return false931		}932		return !fileInfo.IsDir()933	}934	panic(fmt.Sprintf("Bad field type %T", field.Interface()))935}936// IsE164 is the validation function for validating if the current field's value is a valid e.164 formatted phone number.937func isE164(fl FieldLevel) bool {938	return e164Regex.MatchString(fl.Field().String())939}940// IsEmail is the validation function for validating if the current field's value is a valid email address.941func isEmail(fl FieldLevel) bool {942	return emailRegex.MatchString(fl.Field().String())943}944// IsHSLA is the validation function for validating if the current field's value is a valid HSLA color.945func isHSLA(fl FieldLevel) bool {946	return hslaRegex.MatchString(fl.Field().String())947}948// IsHSL is the validation function for validating if the current field's value is a valid HSL color.949func isHSL(fl FieldLevel) bool {950	return hslRegex.MatchString(fl.Field().String())951}952// IsRGBA is the validation function for validating if the current field's value is a valid RGBA color.953func isRGBA(fl FieldLevel) bool {954	return rgbaRegex.MatchString(fl.Field().String())955}956// IsRGB is the validation function for validating if the current field's value is a valid RGB color.957func isRGB(fl FieldLevel) bool {958	return rgbRegex.MatchString(fl.Field().String())959}960// IsHEXColor is the validation function for validating if the current field's value is a valid HEX color.961func isHEXColor(fl FieldLevel) bool {962	return hexcolorRegex.MatchString(fl.Field().String())963}964// IsHexadecimal is the validation function for validating if the current field's value is a valid hexadecimal.965func isHexadecimal(fl FieldLevel) bool {966	return hexadecimalRegex.MatchString(fl.Field().String())967}968// IsNumber is the validation function for validating if the current field's value is a valid number.969func isNumber(fl FieldLevel) bool {970	switch fl.Field().Kind() {971	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr, reflect.Float32, reflect.Float64:972		return true973	default:974		return numberRegex.MatchString(fl.Field().String())975	}976}977// IsNumeric is the validation function for validating if the current field's value is a valid numeric value.978func isNumeric(fl FieldLevel) bool {979	switch fl.Field().Kind() {980	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr, reflect.Float32, reflect.Float64:981		return true982	default:983		return numericRegex.MatchString(fl.Field().String())984	}985}986// IsAlphanum is the validation function for validating if the current field's value is a valid alphanumeric value.987func isAlphanum(fl FieldLevel) bool {988	return alphaNumericRegex.MatchString(fl.Field().String())989}990// IsAlpha is the validation function for validating if the current field's value is a valid alpha value.991func isAlpha(fl FieldLevel) bool {992	return alphaRegex.MatchString(fl.Field().String())993}994// IsAlphanumUnicode is the validation function for validating if the current field's value is a valid alphanumeric unicode value.995func isAlphanumUnicode(fl FieldLevel) bool {996	return alphaUnicodeNumericRegex.MatchString(fl.Field().String())997}998// IsAlphaUnicode is the validation function for validating if the current field's value is a valid alpha unicode value.999func isAlphaUnicode(fl FieldLevel) bool {1000	return alphaUnicodeRegex.MatchString(fl.Field().String())1001}1002// isDefault is the opposite of required aka hasValue1003func isDefault(fl FieldLevel) bool {1004	return !hasValue(fl)1005}1006// HasValue is the validation function for validating if the current field's value is not the default static value.1007func hasValue(fl FieldLevel) bool {1008	field := fl.Field()1009	switch field.Kind() {1010	case reflect.Slice, reflect.Map, reflect.Ptr, reflect.Interface, reflect.Chan, reflect.Func:1011		return !field.IsNil()1012	default:1013		if fl.(*validate).fldIsPointer && field.Interface() != nil {1014			return true1015		}1016		return field.IsValid() && field.Interface() != reflect.Zero(field.Type()).Interface()1017	}1018}1019// requireCheckField is a func for check field kind1020func requireCheckFieldKind(fl FieldLevel, param string, defaultNotFoundValue bool) bool {1021	field := fl.Field()1022	kind := field.Kind()1023	var nullable, found bool1024	if len(param) > 0 {1025		field, kind, nullable, found = fl.GetStructFieldOKAdvanced2(fl.Parent(), param)1026		if !found {1027			return defaultNotFoundValue1028		}1029	}1030	switch kind {1031	case reflect.Invalid:1032		return defaultNotFoundValue1033	case reflect.Slice, reflect.Map, reflect.Ptr, reflect.Interface, reflect.Chan, reflect.Func:1034		return field.IsNil()1035	default:1036		if nullable && field.Interface() != nil {1037			return false1038		}1039		return field.IsValid() && field.Interface() == reflect.Zero(field.Type()).Interface()1040	}1041}1042// RequiredWith is the validation function1043// The field under validation must be present and not empty only if any of the other specified fields are present.1044func requiredWith(fl FieldLevel) bool {1045	params := parseOneOfParam2(fl.Param())1046	for _, param := range params {1047		if !requireCheckFieldKind(fl, param, true) {1048			return hasValue(fl)1049		}1050	}1051	return true1052}1053// RequiredWithAll is the validation function1054// The field under validation must be present and not empty only if all of the other specified fields are present.1055func requiredWithAll(fl FieldLevel) bool {1056	params := parseOneOfParam2(fl.Param())1057	for _, param := range params {1058		if requireCheckFieldKind(fl, param, true) {1059			return true1060		}1061	}1062	return hasValue(fl)1063}1064// RequiredWithout is the validation function1065// The field under validation must be present and not empty only when any of the other specified fields are not present.1066func requiredWithout(fl FieldLevel) bool {1067	if requireCheckFieldKind(fl, strings.TrimSpace(fl.Param()), true) {1068		return hasValue(fl)1069	}1070	return true1071}1072// RequiredWithoutAll is the validation function1073// The field under validation must be present and not empty only when all of the other specified fields are not present.1074func requiredWithoutAll(fl FieldLevel) bool {1075	params := parseOneOfParam2(fl.Param())1076	for _, param := range params {1077		if !requireCheckFieldKind(fl, param, true) {1078			return true1079		}1080	}1081	return hasValue(fl)1082}1083// IsGteField is the validation function for validating if the current field's value is greater than or equal to the field specified by the param's value.1084func isGteField(fl FieldLevel) bool {1085	field := fl.Field()1086	kind := field.Kind()1087	currentField, currentKind, ok := fl.GetStructFieldOK()1088	if !ok || currentKind != kind {1089		return false1090	}1091	switch kind {1092	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:1093		return field.Int() >= currentField.Int()1094	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:1095		return field.Uint() >= currentField.Uint()1096	case reflect.Float32, reflect.Float64:1097		return field.Float() >= currentField.Float()1098	case reflect.Struct:1099		fieldType := field.Type()1100		// Not Same underlying type i.e. struct and time1101		if fieldType != currentField.Type() {1102			return false1103		}1104		if fieldType == timeType {1105			t := currentField.Interface().(time.Time)1106			fieldTime := field.Interface().(time.Time)1107			return fieldTime.After(t) || fieldTime.Equal(t)1108		}1109	}1110	// default reflect.String1111	return len(field.String()) >= len(currentField.String())1112}1113// IsGtField is the validation function for validating if the current field's value is greater than the field specified by the param's value.1114func isGtField(fl FieldLevel) bool {1115	field := fl.Field()1116	kind := field.Kind()1117	currentField, currentKind, ok := fl.GetStructFieldOK()1118	if !ok || currentKind != kind {1119		return false1120	}1121	switch kind {1122	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:1123		return field.Int() > currentField.Int()1124	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:1125		return field.Uint() > currentField.Uint()1126	case reflect.Float32, reflect.Float64:1127		return field.Float() > currentField.Float()1128	case reflect.Struct:1129		fieldType := field.Type()1130		// Not Same underlying type i.e. struct and time1131		if fieldType != currentField.Type() {1132			return false1133		}1134		if fieldType == timeType {1135			t := currentField.Interface().(time.Time)1136			fieldTime := field.Interface().(time.Time)1137			return fieldTime.After(t)1138		}1139	}1140	// default reflect.String1141	return len(field.String()) > len(currentField.String())1142}1143// IsGte is the validation function for validating if the current field's value is greater than or equal to the param's value.1144func isGte(fl FieldLevel) bool {1145	field := fl.Field()1146	param := fl.Param()1147	switch field.Kind() {1148	case reflect.String:1149		p := asInt(param)1150		return int64(utf8.RuneCountInString(field.String())) >= p1151	case reflect.Slice, reflect.Map, reflect.Array:1152		p := asInt(param)1153		return int64(field.Len()) >= p1154	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:1155		p := asInt(param)1156		return field.Int() >= p1157	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:1158		p := asUint(param)1159		return field.Uint() >= p1160	case reflect.Float32, reflect.Float64:1161		p := asFloat(param)1162		return field.Float() >= p1163	case reflect.Struct:1164		if field.Type() == timeType {1165			now := time.Now().UTC()1166			t := field.Interface().(time.Time)1167			return t.After(now) || t.Equal(now)1168		}1169	}1170	panic(fmt.Sprintf("Bad field type %T", field.Interface()))1171}1172// IsGt is the validation function for validating if the current field's value is greater than the param's value.1173func isGt(fl FieldLevel) bool {1174	field := fl.Field()1175	param := fl.Param()1176	switch field.Kind() {1177	case reflect.String:1178		p := asInt(param)1179		return int64(utf8.RuneCountInString(field.String())) > p1180	case reflect.Slice, reflect.Map, reflect.Array:1181		p := asInt(param)1182		return int64(field.Len()) > p1183	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:1184		p := asInt(param)1185		return field.Int() > p1186	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:1187		p := asUint(param)1188		return field.Uint() > p1189	case reflect.Float32, reflect.Float64:1190		p := asFloat(param)1191		return field.Float() > p1192	case reflect.Struct:1193		if field.Type() == timeType {1194			return field.Interface().(time.Time).After(time.Now().UTC())1195		}1196	}1197	panic(fmt.Sprintf("Bad field type %T", field.Interface()))1198}1199// HasLengthOf is the validation function for validating if the current field's value is equal to the param's value.1200func hasLengthOf(fl FieldLevel) bool {1201	field := fl.Field()1202	param := fl.Param()1203	switch field.Kind() {1204	case reflect.String:1205		p := asInt(param)1206		return int64(utf8.RuneCountInString(field.String())) == p1207	case reflect.Slice, reflect.Map, reflect.Array:1208		p := asInt(param)1209		return int64(field.Len()) == p1210	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:1211		p := asInt(param)1212		return field.Int() == p1213	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:1214		p := asUint(param)1215		return field.Uint() == p1216	case reflect.Float32, reflect.Float64:1217		p := asFloat(param)1218		return field.Float() == p1219	}1220	panic(fmt.Sprintf("Bad field type %T", field.Interface()))1221}1222// HasMinOf is the validation function for validating if the current field's value is greater than or equal to the param's value.1223func hasMinOf(fl FieldLevel) bool {1224	return isGte(fl)1225}1226// IsLteField is the validation function for validating if the current field's value is less than or equal to the field specified by the param's value.1227func isLteField(fl FieldLevel) bool {1228	field := fl.Field()1229	kind := field.Kind()1230	currentField, currentKind, ok := fl.GetStructFieldOK()1231	if !ok || currentKind != kind {1232		return false1233	}1234	switch kind {1235	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:1236		return field.Int() <= currentField.Int()1237	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:1238		return field.Uint() <= currentField.Uint()1239	case reflect.Float32, reflect.Float64:1240		return field.Float() <= currentField.Float()1241	case reflect.Struct:1242		fieldType := field.Type()1243		// Not Same underlying type i.e. struct and time1244		if fieldType != currentField.Type() {1245			return false1246		}1247		if fieldType == timeType {1248			t := currentField.Interface().(time.Time)1249			fieldTime := field.Interface().(time.Time)1250			return fieldTime.Before(t) || fieldTime.Equal(t)1251		}1252	}1253	// default reflect.String1254	return len(field.String()) <= len(currentField.String())1255}1256// IsLtField is the validation function for validating if the current field's value is less than the field specified by the param's value.1257func isLtField(fl FieldLevel) bool {1258	field := fl.Field()1259	kind := field.Kind()1260	currentField, currentKind, ok := fl.GetStructFieldOK()1261	if !ok || currentKind != kind {1262		return false1263	}1264	switch kind {1265	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:1266		return field.Int() < currentField.Int()1267	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:1268		return field.Uint() < currentField.Uint()1269	case reflect.Float32, reflect.Float64:1270		return field.Float() < currentField.Float()1271	case reflect.Struct:1272		fieldType := field.Type()1273		// Not Same underlying type i.e. struct and time1274		if fieldType != currentField.Type() {1275			return false1276		}1277		if fieldType == timeType {1278			t := currentField.Interface().(time.Time)1279			fieldTime := field.Interface().(time.Time)1280			return fieldTime.Before(t)1281		}1282	}1283	// default reflect.String1284	return len(field.String()) < len(currentField.String())1285}1286// IsLte is the validation function for validating if the current field's value is less than or equal to the param's value.1287func isLte(fl FieldLevel) bool {1288	field := fl.Field()1289	param := fl.Param()1290	switch field.Kind() {1291	case reflect.String:1292		p := asInt(param)1293		return int64(utf8.RuneCountInString(field.String())) <= p1294	case reflect.Slice, reflect.Map, reflect.Array:1295		p := asInt(param)1296		return int64(field.Len()) <= p1297	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:1298		p := asInt(param)1299		return field.Int() <= p1300	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:1301		p := asUint(param)1302		return field.Uint() <= p1303	case reflect.Float32, reflect.Float64:1304		p := asFloat(param)1305		return field.Float() <= p1306	case reflect.Struct:1307		if field.Type() == timeType {1308			now := time.Now().UTC()1309			t := field.Interface().(time.Time)1310			return t.Before(now) || t.Equal(now)1311		}1312	}1313	panic(fmt.Sprintf("Bad field type %T", field.Interface()))1314}1315// IsLt is the validation function for validating if the current field's value is less than the param's value.1316func isLt(fl FieldLevel) bool {1317	field := fl.Field()1318	param := fl.Param()1319	switch field.Kind() {1320	case reflect.String:1321		p := asInt(param)1322		return int64(utf8.RuneCountInString(field.String())) < p1323	case reflect.Slice, reflect.Map, reflect.Array:1324		p := asInt(param)1325		return int64(field.Len()) < p1326	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:1327		p := asInt(param)1328		return field.Int() < p1329	case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:1330		p := asUint(param)1331		return field.Uint() < p1332	case reflect.Float32, reflect.Float64:1333		p := asFloat(param)1334		return field.Float() < p1335	case reflect.Struct:1336		if field.Type() == timeType {1337			return field.Interface().(time.Time).Before(time.Now().UTC())1338		}1339	}1340	panic(fmt.Sprintf("Bad field type %T", field.Interface()))1341}1342// HasMaxOf is the validation function for validating if the current field's value is less than or equal to the param's value.1343func hasMaxOf(fl FieldLevel) bool {1344	return isLte(fl)1345}1346// IsTCP4AddrResolvable is the validation function for validating if the field's value is a resolvable tcp4 address.1347func isTCP4AddrResolvable(fl FieldLevel) bool {1348	if !isIP4Addr(fl) {1349		return false1350	}1351	_, err := net.ResolveTCPAddr("tcp4", fl.Field().String())1352	return err == nil1353}1354// IsTCP6AddrResolvable is the validation function for validating if the field's value is a resolvable tcp6 address.1355func isTCP6AddrResolvable(fl FieldLevel) bool {1356	if !isIP6Addr(fl) {1357		return false1358	}1359	_, err := net.ResolveTCPAddr("tcp6", fl.Field().String())1360	return err == nil1361}1362// IsTCPAddrResolvable is the validation function for validating if the field's value is a resolvable tcp address.1363func isTCPAddrResolvable(fl FieldLevel) bool {1364	if !isIP4Addr(fl) && !isIP6Addr(fl) {1365		return false1366	}1367	_, err := net.ResolveTCPAddr("tcp", fl.Field().String())1368	return err == nil1369}1370// IsUDP4AddrResolvable is the validation function for validating if the field's value is a resolvable udp4 address.1371func isUDP4AddrResolvable(fl FieldLevel) bool {1372	if !isIP4Addr(fl) {1373		return false1374	}1375	_, err := net.ResolveUDPAddr("udp4", fl.Field().String())1376	return err == nil1377}1378// IsUDP6AddrResolvable is the validation function for validating if the field's value is a resolvable udp6 address.1379func isUDP6AddrResolvable(fl FieldLevel) bool {1380	if !isIP6Addr(fl) {1381		return false1382	}1383	_, err := net.ResolveUDPAddr("udp6", fl.Field().String())1384	return err == nil1385}1386// IsUDPAddrResolvable is the validation function for validating if the field's value is a resolvable udp address.1387func isUDPAddrResolvable(fl FieldLevel) bool {1388	if !isIP4Addr(fl) && !isIP6Addr(fl) {1389		return false1390	}1391	_, err := net.ResolveUDPAddr("udp", fl.Field().String())1392	return err == nil1393}1394// IsIP4AddrResolvable is the validation function for validating if the field's value is a resolvable ip4 address.1395func isIP4AddrResolvable(fl FieldLevel) bool {1396	if !isIPv4(fl) {1397		return false1398	}1399	_, err := net.ResolveIPAddr("ip4", fl.Field().String())1400	return err == nil1401}1402// IsIP6AddrResolvable is the validation function for validating if the field's value is a resolvable ip6 address.1403func isIP6AddrResolvable(fl FieldLevel) bool {1404	if !isIPv6(fl) {1405		return false1406	}1407	_, err := net.ResolveIPAddr("ip6", fl.Field().String())1408	return err == nil1409}1410// IsIPAddrResolvable is the validation function for validating if the field's value is a resolvable ip address.1411func isIPAddrResolvable(fl FieldLevel) bool {1412	if !isIP(fl) {1413		return false1414	}1415	_, err := net.ResolveIPAddr("ip", fl.Field().String())1416	return err == nil1417}1418// IsUnixAddrResolvable is the validation function for validating if the field's value is a resolvable unix address.1419func isUnixAddrResolvable(fl FieldLevel) bool {1420	_, err := net.ResolveUnixAddr("unix", fl.Field().String())1421	return err == nil1422}1423func isIP4Addr(fl FieldLevel) bool {1424	val := fl.Field().String()1425	if idx := strings.LastIndex(val, ":"); idx != -1 {1426		val = val[0:idx]1427	}1428	ip := net.ParseIP(val)1429	return ip != nil && ip.To4() != nil1430}1431func isIP6Addr(fl FieldLevel) bool {1432	val := fl.Field().String()1433	if idx := strings.LastIndex(val, ":"); idx != -1 {1434		if idx != 0 && val[idx-1:idx] == "]" {1435			val = val[1 : idx-1]1436		}1437	}1438	ip := net.ParseIP(val)1439	return ip != nil && ip.To4() == nil1440}1441func isHostnameRFC952(fl FieldLevel) bool {1442	return hostnameRegexRFC952.MatchString(fl.Field().String())1443}1444func isHostnameRFC1123(fl FieldLevel) bool {1445	return hostnameRegexRFC1123.MatchString(fl.Field().String())1446}1447func isFQDN(fl FieldLevel) bool {1448	val := fl.Field().String()1449	if val == "" {1450		return false1451	}1452	if val[len(val)-1] == '.' {1453		val = val[0 : len(val)-1]1454	}1455	return strings.ContainsAny(val, ".") &&1456		hostnameRegexRFC952.MatchString(val)1457}1458// IsDir is the validation function for validating if the current field's value is a valid directory.1459func isDir(fl FieldLevel) bool {1460	field := fl.Field()1461	if field.Kind() == reflect.String {1462		fileInfo, err := os.Stat(field.String())1463		if err != nil {1464			return false1465		}1466		return fileInfo.IsDir()1467	}1468	panic(fmt.Sprintf("Bad field type %T", field.Interface()))1469}1470// isJSON is the validation function for validating if the current field's value is a valid json string.1471func isJSON(fl FieldLevel) bool {1472	field := fl.Field()1473	if field.Kind() == reflect.String {1474		val := field.String()1475		return json.Valid([]byte(val))1476	}1477	panic(fmt.Sprintf("Bad field type %T", field.Interface()))1478}1479// isHostnamePort validates a <dns>:<port> combination for fields typically used for socket address.1480func isHostnamePort(fl FieldLevel) bool {1481	val := fl.Field().String()1482	host, port, err := net.SplitHostPort(val)1483	if err != nil {1484		return false1485	}1486	// Port must be a iny <= 65535.1487	if portNum, err := strconv.ParseInt(port, 10, 32); err != nil || portNum > 65535 || portNum < 1 {1488		return false1489	}1490	// If host is specified, it should match a DNS name1491	if host != "" {1492		return hostnameRegexRFC1123.MatchString(host)1493	}1494	return true1495}1496// isLowercase is the validation function for validating if the current field's value is a lowercase string.1497func isLowercase(fl FieldLevel) bool {1498	field := fl.Field()1499	if field.Kind() == reflect.String {1500		if field.String() == "" {1501			return false1502		}1503		return field.String() == strings.ToLower(field.String())1504	}1505	panic(fmt.Sprintf("Bad field type %T", field.Interface()))1506}1507// isUppercase is the validation function for validating if the current field's value is an uppercase string.1508func isUppercase(fl FieldLevel) bool {1509	field := fl.Field()1510	if field.Kind() == reflect.String {1511		if field.String() == "" {1512			return false1513		}1514		return field.String() == strings.ToUpper(field.String())1515	}1516	panic(fmt.Sprintf("Bad field type %T", field.Interface()))1517}1518// isDatetime is the validation function for validating if the current field's value is a valid datetime string.1519func isDatetime(fl FieldLevel) bool {1520	field := fl.Field()1521	param := fl.Param()1522	if field.Kind() == reflect.String {1523		_, err := time.Parse(param, field.String())1524		if err != nil {1525			return false1526		}1527		return true1528	}1529	panic(fmt.Sprintf("Bad field type %T", field.Interface()))1530}...is_IS.go
Source:is_IS.go  
1package is_IS2import (3	"math"4	"strconv"5	"time"6	"github.com/go-playground/locales"7	"github.com/go-playground/locales/currency"8)9type is_IS struct {10	locale                 string11	pluralsCardinal        []locales.PluralRule12	pluralsOrdinal         []locales.PluralRule13	pluralsRange           []locales.PluralRule14	decimal                string15	group                  string16	minus                  string17	percent                string18	perMille               string19	timeSeparator          string20	inifinity              string21	currencies             []string // idx = enum of currency code22	currencyPositiveSuffix string23	currencyNegativeSuffix string24	monthsAbbreviated      []string25	monthsNarrow           []string26	monthsWide             []string27	daysAbbreviated        []string28	daysNarrow             []string29	daysShort              []string30	daysWide               []string31	periodsAbbreviated     []string32	periodsNarrow          []string33	periodsShort           []string34	periodsWide            []string35	erasAbbreviated        []string36	erasNarrow             []string37	erasWide               []string38	timezones              map[string]string39}40// New returns a new instance of translator for the 'is_IS' locale41func New() locales.Translator {42	return &is_IS{43		locale:                 "is_IS",44		pluralsCardinal:        []locales.PluralRule{2, 6},45		pluralsOrdinal:         []locales.PluralRule{6},46		pluralsRange:           []locales.PluralRule{2, 6},47		decimal:                ",",48		group:                  ".",49		minus:                  "-",50		percent:                "%",51		perMille:               "â°",52		timeSeparator:          ":",53		inifinity:              "â",54		currencies:             []string{"ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", "ANG", "AOA", "AOK", "AON", "AOR", "ARA", "ARL", "ARM", "ARP", "ARS", "ATS", "AUD", "AWG", "AZM", "AZN", "BAD", "BAM", "BAN", "BBD", "BDT", "BEC", "BEF", "BEL", "BGL", "BGM", "BGN", "BGO", "BHD", "BIF", "BMD", "BND", "BOB", "BOL", "BOP", "BOV", "BRB", "BRC", "BRE", "BRL", "BRN", "BRR", "BRZ", "BSD", "BTN", "BUK", "BWP", "BYB", "BYN", "BYR", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLE", "CLF", "CLP", "CNH", "CNX", "CNY", "COP", "COU", "CRC", "CSD", "CSK", "CUC", "CUP", "CVE", "CYP", "CZK", "DDM", "DEM", "DJF", "DKK", "DOP", "DZD", "ECS", "ECV", "EEK", "EGP", "ERN", "ESA", "ESB", "ESP", "ETB", "EUR", "FIM", "FJD", "FKP", "FRF", "GBP", "GEK", "GEL", "GHC", "GHS", "GIP", "GMD", "GNF", "GNS", "GQE", "GRD", "GTQ", "GWE", "GWP", "GYD", "HKD", "HNL", "HRD", "HRK", "HTG", "HUF", "IDR", "IEP", "ILP", "ILR", "ILS", "INR", "IQD", "IRR", "ISJ", "ISK", "ITL", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRH", "KRO", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LTT", "LUC", "LUF", "LUL", "LVL", "LVR", "LYD", "MAD", "MAF", "MCF", "MDC", "MDL", "MGA", "MGF", "MKD", "MKN", "MLF", "MMK", "MNT", "MOP", "MRO", "MTL", "MTP", "MUR", "MVP", "MVR", "MWK", "MXN", "MXP", "MXV", "MYR", "MZE", "MZM", "MZN", "NAD", "NGN", "NIC", "NIO", "NLG", "NOK", "NPR", "NZD", "OMR", "PAB", "PEI", "PEN", "PES", "PGK", "PHP", "PKR", "PLN", "PLZ", "PTE", "PYG", "QAR", "RHD", "ROL", "RON", "RSD", "RUB", "RUR", "RWF", "SAR", "SBD", "SCR", "SDD", "SDG", "SDP", "SEK", "SGD", "SHP", "SIT", "SKK", "SLL", "SOS", "SRD", "SRG", "SSP", "STD", "STN", "SUR", "SVC", "SYP", "SZL", "THB", "TJR", "TJS", "TMM", "TMT", "TND", "TOP", "TPE", "TRL", "TRY", "TTD", "TWD", "TZS", "UAH", "UAK", "UGS", "UGX", "USD", "USN", "USS", "UYI", "UYP", "UYU", "UZS", "VEB", "VEF", "VND", "VNN", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XEU", "XFO", "XFU", "XOF", "XPD", "XPF", "XPT", "XRE", "XSU", "XTS", "XUA", "XXX", "YDD", "YER", "YUD", "YUM", "YUN", "YUR", "ZAL", "ZAR", "ZMK", "ZMW", "ZRN", "ZRZ", "ZWD", "ZWL", "ZWR"},55		currencyPositiveSuffix: " ",56		currencyNegativeSuffix: " ",57		monthsAbbreviated:      []string{"", "jan.", "feb.", "mar.", "apr.", "maÃ", "jún.", "júl.", "ágú.", "sep.", "okt.", "nóv.", "des."},58		monthsNarrow:           []string{"", "J", "F", "M", "A", "M", "J", "J", "Ã", "S", "O", "N", "D"},59		monthsWide:             []string{"", "janúar", "febrúar", "mars", "aprÃl", "maÃ", "júnÃ", "júlÃ", "ágúst", "september", "október", "nóvember", "desember"},60		daysAbbreviated:        []string{"sun.", "mán.", "þri.", "mið.", "fim.", "fös.", "lau."},61		daysNarrow:             []string{"S", "M", "Ã", "M", "F", "F", "L"},62		daysShort:              []string{"su.", "má.", "þr.", "mi.", "fi.", "fö.", "la."},63		daysWide:               []string{"sunnudagur", "mánudagur", "þriðjudagur", "miðvikudagur", "fimmtudagur", "föstudagur", "laugardagur"},64		periodsAbbreviated:     []string{"f.h.", "e.h."},65		periodsNarrow:          []string{"f.", "e."},66		periodsWide:            []string{"f.h.", "e.h."},67		erasAbbreviated:        []string{"f.Kr.", "e.Kr."},68		erasNarrow:             []string{"f.k.", "e.k."},69		erasWide:               []string{"fyrir Krist", "eftir Krist"},70		timezones:              map[string]string{"CAT": "Mið-AfrÃkutÃmi", "â
â
â
": "SumartÃmi á Amasónsvæðinu", "CDT": "SumartÃmi à miðhluta BandarÃkjanna og Kanada", "HNOG": "StaðaltÃmi á Vestur-Grænlandi", "LHDT": "SumartÃmi á Lord Howe-eyju", "MESZ": "SumartÃmi à Mið-Evrópu", "WITA": "Mið-IndónesÃutÃmi", "CLST": "SumartÃmi à SÃle", "GMT": "Greenwich-staðaltÃmi", "HNPMX": "StaðaltÃmi à MexÃkó á Kyrrahafssvæðinu", "SAST": "Suður-AfrÃkutÃmi", "JST": "StaðaltÃmi à Japan", "HKT": "StaðaltÃmi à Hong Kong", "PST": "StaðaltÃmi á Kyrrahafssvæðinu", "HEEG": "SumartÃmi á Austur-Grænlandi", "WART": "StaðaltÃmi à Vestur-ArgentÃnu", "HNPM": "StaðaltÃmi á Sankti Pierre og Miquelon", "MST": "MST", "CLT": "StaðaltÃmi à SÃle", "HNCU": "StaðaltÃmi á Kúbu", "EST": "StaðaltÃmi à austurhluta BandarÃkjanna og Kanada", "WARST": "SumartÃmi à Vestur-ArgentÃnu", "WIB": "Vestur-IndónesÃutÃmi", "JDT": "SumartÃmi à Japan", "COST": "SumartÃmi à KólumbÃu", "ART": "StaðaltÃmi à ArgentÃnu", "ARST": "SumartÃmi à ArgentÃnu", "GYT": "GvæjanatÃmi", "CHADT": "SumartÃmi à Chatham", "AEDT": "SumartÃmi à Austur-ÃstralÃu", "HEPM": "SumartÃmi á Sankti Pierre og Miquelon", "HEPMX": "SumartÃmi à MexÃkó á Kyrrahafssvæðinu", "AST": "StaðaltÃmi á Atlantshafssvæðinu", "MYT": "MalasÃutÃmi", "ECT": "EkvadortÃmi", "ACWDT": "SumartÃmi à miðvesturhluta ÃstralÃu", "TMST": "SumartÃmi à Túrkmenistan", "HEOG": "SumartÃmi á Vestur-Grænlandi", "IST": "IndlandstÃmi", "HENOMX": "SumartÃmi à Norðvestur-MexÃkó", "MDT": "MDT", "AEST": "StaðaltÃmi à Austur-ÃstralÃu", "BT": "BútantÃmi", "WIT": "Austur-IndónesÃutÃmi", "EAT": "Austur-AfrÃkutÃmi", "ChST": "Chamorro-staðaltÃmi", "AKST": "StaðaltÃmi à Alaska", "ACDT": "SumartÃmi à Mið-ÃstralÃu", "VET": "VenesúelatÃmi", "SRT": "SúrinamtÃmi", "CHAST": "StaðaltÃmi à Chatham", "HECU": "SumartÃmi á Kúbu", "CST": "StaðaltÃmi à miðhluta BandarÃkjanna og Kanada", "ADT": "SumartÃmi á Atlantshafssvæðinu", "WAST": "SumartÃmi à Vestur-AfrÃku", "COT": "StaðaltÃmi à KólumbÃu", "PDT": "SumartÃmi á Kyrrahafssvæðinu", "SGT": "SingapúrtÃmi", "ACWST": "StaðaltÃmi à miðvesturhluta ÃstralÃu", "HNNOMX": "StaðaltÃmi à Norðvestur-MexÃkó", "HKST": "SumartÃmi à Hong Kong", "LHST": "StaðaltÃmi á Lord Howe-eyju", "HADT": "SumartÃmi á Havaà og Aleúta", "UYST": "SumartÃmi à Ãrúgvæ", "AWST": "StaðaltÃmi à Vestur-ÃstralÃu", "GFT": "TÃmi à Frönsku Gvæjana", "NZST": "StaðaltÃmi á Nýja-Sjálandi", "NZDT": "SumartÃmi á Nýja-Sjálandi", "HNT": "StaðaltÃmi á Nýfundnalandi", "WAT": "StaðaltÃmi à Vestur-AfrÃku", "WESZ": "SumartÃmi à Vestur-Evrópu", "EDT": "SumartÃmi à austurhluta BandarÃkjanna og Kanada", "HAT": "SumartÃmi á Nýfundnalandi", "HNEG": "StaðaltÃmi á Austur-Grænlandi", "ACST": "StaðaltÃmi à Mið-ÃstralÃu", "TMT": "StaðaltÃmi à Túrkmenistan", "OESZ": "SumartÃmi à Austur-Evrópu", "HAST": "StaðaltÃmi á Havaà og Aleúta", "WEZ": "StaðaltÃmi à Vestur-Evrópu", "BOT": "BólivÃutÃmi", "AKDT": "SumartÃmi à Alaska", "MEZ": "StaðaltÃmi à Mið-Evrópu", "OEZ": "StaðaltÃmi à Austur-Evrópu", "UYT": "StaðaltÃmi à Ãrúgvæ", "AWDT": "SumartÃmi à Vestur-ÃstralÃu"},71	}72}73// Locale returns the current translators string locale74func (is *is_IS) Locale() string {75	return is.locale76}77// PluralsCardinal returns the list of cardinal plural rules associated with 'is_IS'78func (is *is_IS) PluralsCardinal() []locales.PluralRule {79	return is.pluralsCardinal80}81// PluralsOrdinal returns the list of ordinal plural rules associated with 'is_IS'82func (is *is_IS) PluralsOrdinal() []locales.PluralRule {83	return is.pluralsOrdinal84}85// PluralsRange returns the list of range plural rules associated with 'is_IS'86func (is *is_IS) PluralsRange() []locales.PluralRule {87	return is.pluralsRange88}89// CardinalPluralRule returns the cardinal PluralRule given 'num' and digits/precision of 'v' for 'is_IS'90func (is *is_IS) CardinalPluralRule(num float64, v uint64) locales.PluralRule {91	n := math.Abs(num)92	i := int64(n)93	t := locales.T(n, v)94	iMod10 := i % 1095	iMod100 := i % 10096	if (t == 0 && iMod10 == 1 && iMod100 != 11) || (t != 0) {97		return locales.PluralRuleOne98	}99	return locales.PluralRuleOther100}101// OrdinalPluralRule returns the ordinal PluralRule given 'num' and digits/precision of 'v' for 'is_IS'102func (is *is_IS) OrdinalPluralRule(num float64, v uint64) locales.PluralRule {103	return locales.PluralRuleOther104}105// RangePluralRule returns the ordinal PluralRule given 'num1', 'num2' and digits/precision of 'v1' and 'v2' for 'is_IS'106func (is *is_IS) RangePluralRule(num1 float64, v1 uint64, num2 float64, v2 uint64) locales.PluralRule {107	start := is.CardinalPluralRule(num1, v1)108	end := is.CardinalPluralRule(num2, v2)109	if start == locales.PluralRuleOne && end == locales.PluralRuleOne {110		return locales.PluralRuleOne111	} else if start == locales.PluralRuleOne && end == locales.PluralRuleOther {112		return locales.PluralRuleOther113	} else if start == locales.PluralRuleOther && end == locales.PluralRuleOne {114		return locales.PluralRuleOne115	}116	return locales.PluralRuleOther117}118// MonthAbbreviated returns the locales abbreviated month given the 'month' provided119func (is *is_IS) MonthAbbreviated(month time.Month) string {120	return is.monthsAbbreviated[month]121}122// MonthsAbbreviated returns the locales abbreviated months123func (is *is_IS) MonthsAbbreviated() []string {124	return is.monthsAbbreviated[1:]125}126// MonthNarrow returns the locales narrow month given the 'month' provided127func (is *is_IS) MonthNarrow(month time.Month) string {128	return is.monthsNarrow[month]129}130// MonthsNarrow returns the locales narrow months131func (is *is_IS) MonthsNarrow() []string {132	return is.monthsNarrow[1:]133}134// MonthWide returns the locales wide month given the 'month' provided135func (is *is_IS) MonthWide(month time.Month) string {136	return is.monthsWide[month]137}138// MonthsWide returns the locales wide months139func (is *is_IS) MonthsWide() []string {140	return is.monthsWide[1:]141}142// WeekdayAbbreviated returns the locales abbreviated weekday given the 'weekday' provided143func (is *is_IS) WeekdayAbbreviated(weekday time.Weekday) string {144	return is.daysAbbreviated[weekday]145}146// WeekdaysAbbreviated returns the locales abbreviated weekdays147func (is *is_IS) WeekdaysAbbreviated() []string {148	return is.daysAbbreviated149}150// WeekdayNarrow returns the locales narrow weekday given the 'weekday' provided151func (is *is_IS) WeekdayNarrow(weekday time.Weekday) string {152	return is.daysNarrow[weekday]153}154// WeekdaysNarrow returns the locales narrow weekdays155func (is *is_IS) WeekdaysNarrow() []string {156	return is.daysNarrow157}158// WeekdayShort returns the locales short weekday given the 'weekday' provided159func (is *is_IS) WeekdayShort(weekday time.Weekday) string {160	return is.daysShort[weekday]161}162// WeekdaysShort returns the locales short weekdays163func (is *is_IS) WeekdaysShort() []string {164	return is.daysShort165}166// WeekdayWide returns the locales wide weekday given the 'weekday' provided167func (is *is_IS) WeekdayWide(weekday time.Weekday) string {168	return is.daysWide[weekday]169}170// WeekdaysWide returns the locales wide weekdays171func (is *is_IS) WeekdaysWide() []string {172	return is.daysWide173}174// Decimal returns the decimal point of number175func (is *is_IS) Decimal() string {176	return is.decimal177}178// Group returns the group of number179func (is *is_IS) Group() string {180	return is.group181}182// Group returns the minus sign of number183func (is *is_IS) Minus() string {184	return is.minus185}186// FmtNumber returns 'num' with digits/precision of 'v' for 'is_IS' and handles both Whole and Real numbers based on 'v'187func (is *is_IS) FmtNumber(num float64, v uint64) string {188	s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64)189	l := len(s) + 2 + 1*len(s[:len(s)-int(v)-1])/3190	count := 0191	inWhole := v == 0192	b := make([]byte, 0, l)193	for i := len(s) - 1; i >= 0; i-- {194		if s[i] == '.' {195			b = append(b, is.decimal[0])196			inWhole = true197			continue198		}199		if inWhole {200			if count == 3 {201				b = append(b, is.group[0])202				count = 1203			} else {204				count++205			}206		}207		b = append(b, s[i])208	}209	if num < 0 {210		b = append(b, is.minus[0])211	}212	// reverse213	for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 {214		b[i], b[j] = b[j], b[i]215	}216	return string(b)217}218// FmtPercent returns 'num' with digits/precision of 'v' for 'is_IS' and handles both Whole and Real numbers based on 'v'219// NOTE: 'num' passed into FmtPercent is assumed to be in percent already220func (is *is_IS) FmtPercent(num float64, v uint64) string {221	s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64)222	l := len(s) + 3223	b := make([]byte, 0, l)224	for i := len(s) - 1; i >= 0; i-- {225		if s[i] == '.' {226			b = append(b, is.decimal[0])227			continue228		}229		b = append(b, s[i])230	}231	if num < 0 {232		b = append(b, is.minus[0])233	}234	// reverse235	for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 {236		b[i], b[j] = b[j], b[i]237	}238	b = append(b, is.percent...)239	return string(b)240}241// FmtCurrency returns the currency representation of 'num' with digits/precision of 'v' for 'is_IS'242func (is *is_IS) FmtCurrency(num float64, v uint64, currency currency.Type) string {243	s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64)244	symbol := is.currencies[currency]245	l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3246	count := 0247	inWhole := v == 0248	b := make([]byte, 0, l)249	for i := len(s) - 1; i >= 0; i-- {250		if s[i] == '.' {251			b = append(b, is.decimal[0])252			inWhole = true253			continue254		}255		if inWhole {256			if count == 3 {257				b = append(b, is.group[0])258				count = 1259			} else {260				count++261			}262		}263		b = append(b, s[i])264	}265	if num < 0 {266		b = append(b, is.minus[0])267	}268	// reverse269	for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 {270		b[i], b[j] = b[j], b[i]271	}272	if int(v) < 2 {273		if v == 0 {274			b = append(b, is.decimal...)275		}276		for i := 0; i < 2-int(v); i++ {277			b = append(b, '0')278		}279	}280	b = append(b, is.currencyPositiveSuffix...)281	b = append(b, symbol...)282	return string(b)283}284// FmtAccounting returns the currency representation of 'num' with digits/precision of 'v' for 'is_IS'285// in accounting notation.286func (is *is_IS) FmtAccounting(num float64, v uint64, currency currency.Type) string {287	s := strconv.FormatFloat(math.Abs(num), 'f', int(v), 64)288	symbol := is.currencies[currency]289	l := len(s) + len(symbol) + 4 + 1*len(s[:len(s)-int(v)-1])/3290	count := 0291	inWhole := v == 0292	b := make([]byte, 0, l)293	for i := len(s) - 1; i >= 0; i-- {294		if s[i] == '.' {295			b = append(b, is.decimal[0])296			inWhole = true297			continue298		}299		if inWhole {300			if count == 3 {301				b = append(b, is.group[0])302				count = 1303			} else {304				count++305			}306		}307		b = append(b, s[i])308	}309	if num < 0 {310		b = append(b, is.minus[0])311	}312	// reverse313	for i, j := 0, len(b)-1; i < j; i, j = i+1, j-1 {314		b[i], b[j] = b[j], b[i]315	}316	if int(v) < 2 {317		if v == 0 {318			b = append(b, is.decimal...)319		}320		for i := 0; i < 2-int(v); i++ {321			b = append(b, '0')322		}323	}324	if num < 0 {325		b = append(b, is.currencyNegativeSuffix...)326		b = append(b, symbol...)327	} else {328		b = append(b, is.currencyPositiveSuffix...)329		b = append(b, symbol...)330	}331	return string(b)332}333// FmtDateShort returns the short date representation of 't' for 'is_IS'334func (is *is_IS) FmtDateShort(t time.Time) string {335	b := make([]byte, 0, 32)336	b = strconv.AppendInt(b, int64(t.Day()), 10)337	b = append(b, []byte{0x2e}...)338	b = strconv.AppendInt(b, int64(t.Month()), 10)339	b = append(b, []byte{0x2e}...)340	if t.Year() > 0 {341		b = strconv.AppendInt(b, int64(t.Year()), 10)342	} else {343		b = strconv.AppendInt(b, int64(-t.Year()), 10)344	}345	return string(b)346}347// FmtDateMedium returns the medium date representation of 't' for 'is_IS'348func (is *is_IS) FmtDateMedium(t time.Time) string {349	b := make([]byte, 0, 32)350	b = strconv.AppendInt(b, int64(t.Day()), 10)351	b = append(b, []byte{0x2e, 0x20}...)352	b = append(b, is.monthsAbbreviated[t.Month()]...)353	b = append(b, []byte{0x20}...)354	if t.Year() > 0 {355		b = strconv.AppendInt(b, int64(t.Year()), 10)356	} else {357		b = strconv.AppendInt(b, int64(-t.Year()), 10)358	}359	return string(b)360}361// FmtDateLong returns the long date representation of 't' for 'is_IS'362func (is *is_IS) FmtDateLong(t time.Time) string {363	b := make([]byte, 0, 32)364	b = strconv.AppendInt(b, int64(t.Day()), 10)365	b = append(b, []byte{0x2e, 0x20}...)366	b = append(b, is.monthsWide[t.Month()]...)367	b = append(b, []byte{0x20}...)368	if t.Year() > 0 {369		b = strconv.AppendInt(b, int64(t.Year()), 10)370	} else {371		b = strconv.AppendInt(b, int64(-t.Year()), 10)372	}373	return string(b)374}375// FmtDateFull returns the full date representation of 't' for 'is_IS'376func (is *is_IS) FmtDateFull(t time.Time) string {377	b := make([]byte, 0, 32)378	b = append(b, is.daysWide[t.Weekday()]...)379	b = append(b, []byte{0x2c, 0x20}...)380	b = strconv.AppendInt(b, int64(t.Day()), 10)381	b = append(b, []byte{0x2e, 0x20}...)382	b = append(b, is.monthsWide[t.Month()]...)383	b = append(b, []byte{0x20}...)384	if t.Year() > 0 {385		b = strconv.AppendInt(b, int64(t.Year()), 10)386	} else {387		b = strconv.AppendInt(b, int64(-t.Year()), 10)388	}389	return string(b)390}391// FmtTimeShort returns the short time representation of 't' for 'is_IS'392func (is *is_IS) FmtTimeShort(t time.Time) string {393	b := make([]byte, 0, 32)394	if t.Hour() < 10 {395		b = append(b, '0')396	}397	b = strconv.AppendInt(b, int64(t.Hour()), 10)398	b = append(b, is.timeSeparator...)399	if t.Minute() < 10 {400		b = append(b, '0')401	}402	b = strconv.AppendInt(b, int64(t.Minute()), 10)403	return string(b)404}405// FmtTimeMedium returns the medium time representation of 't' for 'is_IS'406func (is *is_IS) FmtTimeMedium(t time.Time) string {407	b := make([]byte, 0, 32)408	if t.Hour() < 10 {409		b = append(b, '0')410	}411	b = strconv.AppendInt(b, int64(t.Hour()), 10)412	b = append(b, is.timeSeparator...)413	if t.Minute() < 10 {414		b = append(b, '0')415	}416	b = strconv.AppendInt(b, int64(t.Minute()), 10)417	b = append(b, is.timeSeparator...)418	if t.Second() < 10 {419		b = append(b, '0')420	}421	b = strconv.AppendInt(b, int64(t.Second()), 10)422	return string(b)423}424// FmtTimeLong returns the long time representation of 't' for 'is_IS'425func (is *is_IS) FmtTimeLong(t time.Time) string {426	b := make([]byte, 0, 32)427	if t.Hour() < 10 {428		b = append(b, '0')429	}430	b = strconv.AppendInt(b, int64(t.Hour()), 10)431	b = append(b, is.timeSeparator...)432	if t.Minute() < 10 {433		b = append(b, '0')434	}435	b = strconv.AppendInt(b, int64(t.Minute()), 10)436	b = append(b, is.timeSeparator...)437	if t.Second() < 10 {438		b = append(b, '0')439	}440	b = strconv.AppendInt(b, int64(t.Second()), 10)441	b = append(b, []byte{0x20}...)442	tz, _ := t.Zone()443	b = append(b, tz...)444	return string(b)445}446// FmtTimeFull returns the full time representation of 't' for 'is_IS'447func (is *is_IS) FmtTimeFull(t time.Time) string {448	b := make([]byte, 0, 32)449	if t.Hour() < 10 {450		b = append(b, '0')451	}452	b = strconv.AppendInt(b, int64(t.Hour()), 10)453	b = append(b, is.timeSeparator...)454	if t.Minute() < 10 {455		b = append(b, '0')456	}457	b = strconv.AppendInt(b, int64(t.Minute()), 10)458	b = append(b, is.timeSeparator...)459	if t.Second() < 10 {460		b = append(b, '0')461	}462	b = strconv.AppendInt(b, int64(t.Second()), 10)463	b = append(b, []byte{0x20}...)464	tz, _ := t.Zone()465	if btz, ok := is.timezones[tz]; ok {466		b = append(b, btz...)467	} else {468		b = append(b, tz...)469	}470	return string(b)471}...is_a.phpt
Source:is_a.phpt  
1--TEST--2is_a and is_subclass_of behaviour (with and without autoload)3--FILE--4<?php5interface if_a {6    function f_a();7}8interface if_b extends if_a {9    function f_b();10}11class base {12    function _is_a($sub) {13        echo "\n>>> With Defined class\n";14        echo str_pad('is_a( OBJECT:'.get_class($this).', '.$sub.') = ', 60) . (is_a($this, $sub) ? 'yes' : 'no')."\n";15        echo str_pad('is_a( STRING:'.get_class($this).', '.$sub.') = ', 60). (is_a(get_class($this), $sub) ? 'yes' : 'no')."\n";16        echo str_pad('is_a( STRING:'.get_class($this).', '.$sub.', true) = ', 60). (is_a(get_class($this), $sub, true) ? 'yes' : 'no')."\n";17        echo str_pad('is_subclass_of( OBJECT:'.get_class($this).', '.$sub.') = ', 60).  (is_subclass_of($this, $sub) ? 'yes' : 'no')."\n";18        echo str_pad('is_subclass_of( STRING:'.get_class($this).', '.$sub.') = ', 60). (is_subclass_of(get_class($this), $sub) ? 'yes' : 'no')."\n";19        echo str_pad('is_subclass_of( STRING:'.get_class($this).', '.$sub.',false) = ', 60). (is_subclass_of(get_class($this), $sub , false) ? 'yes' : 'no')."\n";20        // with autoload options..21        echo ">>> With Undefined\n";22        echo  str_pad('is_a( STRING:undefB, '.$sub.',true) = ', 60). (is_a('undefB', $sub, true) ? 'yes' : 'no')."\n";23        echo  str_pad('is_a( STRING:undefB, '.$sub.') = ', 60). (is_a('undefB', $sub) ? 'yes' : 'no')."\n";24        echo  str_pad('is_subclass_of( STRING:undefB, '.$sub.',false) = ', 60). (is_subclass_of('undefB', $sub, false) ? 'yes' : 'no')."\n";25        echo  str_pad('is_subclass_of( STRING:undefB, '.$sub.') = ', 60). (is_subclass_of('undefB', $sub) ? 'yes' : 'no')."\n";26    }27    function test() {28        echo $this->_is_a('base');29        echo $this->_is_a('derived_a');30        echo $this->_is_a('if_a');31        echo $this->_is_a('undefA');32        echo "\n";33    }34}35class derived_a extends base implements if_a {36    function f_a() {}37}38class derived_b extends base implements if_a, if_b {39    function f_a() {}40    function f_b() {}41}42class derived_c extends derived_a implements if_b {43    function f_b() {}44}45class derived_d extends derived_c {46}47$t = new base();48$t->test();49$t = new derived_a();50$t->test();51spl_autoload_register(function ($name) {52    echo ">>>> In autoload: ";53    var_dump($name);54});55echo "NOW WITH AUTOLOAD\n\n";56$t = new base();57$t->test();58$t = new derived_a();59$t->test();60$t = new derived_b();61$t->test();62?>63--EXPECT--64>>> With Defined class65is_a( OBJECT:base, base) =                                  yes66is_a( STRING:base, base) =                                  no67is_a( STRING:base, base, true) =                            yes68is_subclass_of( OBJECT:base, base) =                        no69is_subclass_of( STRING:base, base) =                        no70is_subclass_of( STRING:base, base,false) =                  no71>>> With Undefined72is_a( STRING:undefB, base,true) =                           no73is_a( STRING:undefB, base) =                                no74is_subclass_of( STRING:undefB, base,false) =                no75is_subclass_of( STRING:undefB, base) =                      no76>>> With Defined class77is_a( OBJECT:base, derived_a) =                             no78is_a( STRING:base, derived_a) =                             no79is_a( STRING:base, derived_a, true) =                       no80is_subclass_of( OBJECT:base, derived_a) =                   no81is_subclass_of( STRING:base, derived_a) =                   no82is_subclass_of( STRING:base, derived_a,false) =             no83>>> With Undefined84is_a( STRING:undefB, derived_a,true) =                      no85is_a( STRING:undefB, derived_a) =                           no86is_subclass_of( STRING:undefB, derived_a,false) =           no87is_subclass_of( STRING:undefB, derived_a) =                 no88>>> With Defined class89is_a( OBJECT:base, if_a) =                                  no90is_a( STRING:base, if_a) =                                  no91is_a( STRING:base, if_a, true) =                            no92is_subclass_of( OBJECT:base, if_a) =                        no93is_subclass_of( STRING:base, if_a) =                        no94is_subclass_of( STRING:base, if_a,false) =                  no95>>> With Undefined96is_a( STRING:undefB, if_a,true) =                           no97is_a( STRING:undefB, if_a) =                                no98is_subclass_of( STRING:undefB, if_a,false) =                no99is_subclass_of( STRING:undefB, if_a) =                      no100>>> With Defined class101is_a( OBJECT:base, undefA) =                                no102is_a( STRING:base, undefA) =                                no103is_a( STRING:base, undefA, true) =                          no104is_subclass_of( OBJECT:base, undefA) =                      no105is_subclass_of( STRING:base, undefA) =                      no106is_subclass_of( STRING:base, undefA,false) =                no107>>> With Undefined108is_a( STRING:undefB, undefA,true) =                         no109is_a( STRING:undefB, undefA) =                              no110is_subclass_of( STRING:undefB, undefA,false) =              no111is_subclass_of( STRING:undefB, undefA) =                    no112>>> With Defined class113is_a( OBJECT:derived_a, base) =                             yes114is_a( STRING:derived_a, base) =                             no115is_a( STRING:derived_a, base, true) =                       yes116is_subclass_of( OBJECT:derived_a, base) =                   yes117is_subclass_of( STRING:derived_a, base) =                   yes118is_subclass_of( STRING:derived_a, base,false) =             no119>>> With Undefined120is_a( STRING:undefB, base,true) =                           no121is_a( STRING:undefB, base) =                                no122is_subclass_of( STRING:undefB, base,false) =                no123is_subclass_of( STRING:undefB, base) =                      no124>>> With Defined class125is_a( OBJECT:derived_a, derived_a) =                        yes126is_a( STRING:derived_a, derived_a) =                        no127is_a( STRING:derived_a, derived_a, true) =                  yes128is_subclass_of( OBJECT:derived_a, derived_a) =              no129is_subclass_of( STRING:derived_a, derived_a) =              no130is_subclass_of( STRING:derived_a, derived_a,false) =        no131>>> With Undefined132is_a( STRING:undefB, derived_a,true) =                      no133is_a( STRING:undefB, derived_a) =                           no134is_subclass_of( STRING:undefB, derived_a,false) =           no135is_subclass_of( STRING:undefB, derived_a) =                 no136>>> With Defined class137is_a( OBJECT:derived_a, if_a) =                             yes138is_a( STRING:derived_a, if_a) =                             no139is_a( STRING:derived_a, if_a, true) =                       yes140is_subclass_of( OBJECT:derived_a, if_a) =                   yes141is_subclass_of( STRING:derived_a, if_a) =                   yes142is_subclass_of( STRING:derived_a, if_a,false) =             no143>>> With Undefined144is_a( STRING:undefB, if_a,true) =                           no145is_a( STRING:undefB, if_a) =                                no146is_subclass_of( STRING:undefB, if_a,false) =                no147is_subclass_of( STRING:undefB, if_a) =                      no148>>> With Defined class149is_a( OBJECT:derived_a, undefA) =                           no150is_a( STRING:derived_a, undefA) =                           no151is_a( STRING:derived_a, undefA, true) =                     no152is_subclass_of( OBJECT:derived_a, undefA) =                 no153is_subclass_of( STRING:derived_a, undefA) =                 no154is_subclass_of( STRING:derived_a, undefA,false) =           no155>>> With Undefined156is_a( STRING:undefB, undefA,true) =                         no157is_a( STRING:undefB, undefA) =                              no158is_subclass_of( STRING:undefB, undefA,false) =              no159is_subclass_of( STRING:undefB, undefA) =                    no160NOW WITH AUTOLOAD161>>> With Defined class162is_a( OBJECT:base, base) =                                  yes163is_a( STRING:base, base) =                                  no164is_a( STRING:base, base, true) =                            yes165is_subclass_of( OBJECT:base, base) =                        no166is_subclass_of( STRING:base, base) =                        no167is_subclass_of( STRING:base, base,false) =                  no168>>> With Undefined169>>>> In autoload: string(6) "undefB"170is_a( STRING:undefB, base,true) =                           no171is_a( STRING:undefB, base) =                                no172is_subclass_of( STRING:undefB, base,false) =                no173>>>> In autoload: string(6) "undefB"174is_subclass_of( STRING:undefB, base) =                      no175>>> With Defined class176is_a( OBJECT:base, derived_a) =                             no177is_a( STRING:base, derived_a) =                             no178is_a( STRING:base, derived_a, true) =                       no179is_subclass_of( OBJECT:base, derived_a) =                   no180is_subclass_of( STRING:base, derived_a) =                   no181is_subclass_of( STRING:base, derived_a,false) =             no182>>> With Undefined183>>>> In autoload: string(6) "undefB"184is_a( STRING:undefB, derived_a,true) =                      no185is_a( STRING:undefB, derived_a) =                           no186is_subclass_of( STRING:undefB, derived_a,false) =           no187>>>> In autoload: string(6) "undefB"188is_subclass_of( STRING:undefB, derived_a) =                 no189>>> With Defined class190is_a( OBJECT:base, if_a) =                                  no191is_a( STRING:base, if_a) =                                  no192is_a( STRING:base, if_a, true) =                            no193is_subclass_of( OBJECT:base, if_a) =                        no194is_subclass_of( STRING:base, if_a) =                        no195is_subclass_of( STRING:base, if_a,false) =                  no196>>> With Undefined197>>>> In autoload: string(6) "undefB"198is_a( STRING:undefB, if_a,true) =                           no199is_a( STRING:undefB, if_a) =                                no200is_subclass_of( STRING:undefB, if_a,false) =                no201>>>> In autoload: string(6) "undefB"202is_subclass_of( STRING:undefB, if_a) =                      no203>>> With Defined class204is_a( OBJECT:base, undefA) =                                no205is_a( STRING:base, undefA) =                                no206is_a( STRING:base, undefA, true) =                          no207is_subclass_of( OBJECT:base, undefA) =                      no208is_subclass_of( STRING:base, undefA) =                      no209is_subclass_of( STRING:base, undefA,false) =                no210>>> With Undefined211>>>> In autoload: string(6) "undefB"212is_a( STRING:undefB, undefA,true) =                         no213is_a( STRING:undefB, undefA) =                              no214is_subclass_of( STRING:undefB, undefA,false) =              no215>>>> In autoload: string(6) "undefB"216is_subclass_of( STRING:undefB, undefA) =                    no217>>> With Defined class218is_a( OBJECT:derived_a, base) =                             yes219is_a( STRING:derived_a, base) =                             no220is_a( STRING:derived_a, base, true) =                       yes221is_subclass_of( OBJECT:derived_a, base) =                   yes222is_subclass_of( STRING:derived_a, base) =                   yes223is_subclass_of( STRING:derived_a, base,false) =             no224>>> With Undefined225>>>> In autoload: string(6) "undefB"226is_a( STRING:undefB, base,true) =                           no227is_a( STRING:undefB, base) =                                no228is_subclass_of( STRING:undefB, base,false) =                no229>>>> In autoload: string(6) "undefB"230is_subclass_of( STRING:undefB, base) =                      no231>>> With Defined class232is_a( OBJECT:derived_a, derived_a) =                        yes233is_a( STRING:derived_a, derived_a) =                        no234is_a( STRING:derived_a, derived_a, true) =                  yes235is_subclass_of( OBJECT:derived_a, derived_a) =              no236is_subclass_of( STRING:derived_a, derived_a) =              no237is_subclass_of( STRING:derived_a, derived_a,false) =        no238>>> With Undefined239>>>> In autoload: string(6) "undefB"240is_a( STRING:undefB, derived_a,true) =                      no241is_a( STRING:undefB, derived_a) =                           no242is_subclass_of( STRING:undefB, derived_a,false) =           no243>>>> In autoload: string(6) "undefB"244is_subclass_of( STRING:undefB, derived_a) =                 no245>>> With Defined class246is_a( OBJECT:derived_a, if_a) =                             yes247is_a( STRING:derived_a, if_a) =                             no248is_a( STRING:derived_a, if_a, true) =                       yes249is_subclass_of( OBJECT:derived_a, if_a) =                   yes250is_subclass_of( STRING:derived_a, if_a) =                   yes251is_subclass_of( STRING:derived_a, if_a,false) =             no252>>> With Undefined253>>>> In autoload: string(6) "undefB"254is_a( STRING:undefB, if_a,true) =                           no255is_a( STRING:undefB, if_a) =                                no256is_subclass_of( STRING:undefB, if_a,false) =                no257>>>> In autoload: string(6) "undefB"258is_subclass_of( STRING:undefB, if_a) =                      no259>>> With Defined class260is_a( OBJECT:derived_a, undefA) =                           no261is_a( STRING:derived_a, undefA) =                           no262is_a( STRING:derived_a, undefA, true) =                     no263is_subclass_of( OBJECT:derived_a, undefA) =                 no264is_subclass_of( STRING:derived_a, undefA) =                 no265is_subclass_of( STRING:derived_a, undefA,false) =           no266>>> With Undefined267>>>> In autoload: string(6) "undefB"268is_a( STRING:undefB, undefA,true) =                         no269is_a( STRING:undefB, undefA) =                              no270is_subclass_of( STRING:undefB, undefA,false) =              no271>>>> In autoload: string(6) "undefB"272is_subclass_of( STRING:undefB, undefA) =                    no273>>> With Defined class274is_a( OBJECT:derived_b, base) =                             yes275is_a( STRING:derived_b, base) =                             no276is_a( STRING:derived_b, base, true) =                       yes277is_subclass_of( OBJECT:derived_b, base) =                   yes278is_subclass_of( STRING:derived_b, base) =                   yes279is_subclass_of( STRING:derived_b, base,false) =             no280>>> With Undefined281>>>> In autoload: string(6) "undefB"282is_a( STRING:undefB, base,true) =                           no283is_a( STRING:undefB, base) =                                no284is_subclass_of( STRING:undefB, base,false) =                no285>>>> In autoload: string(6) "undefB"286is_subclass_of( STRING:undefB, base) =                      no287>>> With Defined class288is_a( OBJECT:derived_b, derived_a) =                        no289is_a( STRING:derived_b, derived_a) =                        no290is_a( STRING:derived_b, derived_a, true) =                  no291is_subclass_of( OBJECT:derived_b, derived_a) =              no292is_subclass_of( STRING:derived_b, derived_a) =              no293is_subclass_of( STRING:derived_b, derived_a,false) =        no294>>> With Undefined295>>>> In autoload: string(6) "undefB"296is_a( STRING:undefB, derived_a,true) =                      no297is_a( STRING:undefB, derived_a) =                           no298is_subclass_of( STRING:undefB, derived_a,false) =           no299>>>> In autoload: string(6) "undefB"300is_subclass_of( STRING:undefB, derived_a) =                 no301>>> With Defined class302is_a( OBJECT:derived_b, if_a) =                             yes303is_a( STRING:derived_b, if_a) =                             no304is_a( STRING:derived_b, if_a, true) =                       yes305is_subclass_of( OBJECT:derived_b, if_a) =                   yes306is_subclass_of( STRING:derived_b, if_a) =                   yes307is_subclass_of( STRING:derived_b, if_a,false) =             no308>>> With Undefined309>>>> In autoload: string(6) "undefB"310is_a( STRING:undefB, if_a,true) =                           no311is_a( STRING:undefB, if_a) =                                no312is_subclass_of( STRING:undefB, if_a,false) =                no313>>>> In autoload: string(6) "undefB"314is_subclass_of( STRING:undefB, if_a) =                      no315>>> With Defined class316is_a( OBJECT:derived_b, undefA) =                           no317is_a( STRING:derived_b, undefA) =                           no318is_a( STRING:derived_b, undefA, true) =                     no319is_subclass_of( OBJECT:derived_b, undefA) =                 no320is_subclass_of( STRING:derived_b, undefA) =                 no321is_subclass_of( STRING:derived_b, undefA,false) =           no322>>> With Undefined323>>>> In autoload: string(6) "undefB"324is_a( STRING:undefB, undefA,true) =                         no325is_a( STRING:undefB, undefA) =                              no326is_subclass_of( STRING:undefB, undefA,false) =              no327>>>> In autoload: string(6) "undefB"328is_subclass_of( STRING:undefB, undefA) =                    no...AFError+AlamofireTests.swift
Source:AFError+AlamofireTests.swift  
2//  AFError+AlamofireTests.swift3//4//  Copyright (c) 2014-2018 Alamofire Software Foundation (http://alamofire.org/)5//6//  Permission is hereby granted, free of charge, to any person obtaining a copy7//  of this software and associated documentation files (the "Software"), to deal8//  in the Software without restriction, including without limitation the rights9//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell10//  copies of the Software, and to permit persons to whom the Software is11//  furnished to do so, subject to the following conditions:12//13//  The above copyright notice and this permission notice shall be included in14//  all copies or substantial portions of the Software.15//16//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR17//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,18//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE19//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER20//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,21//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN22//  THE SOFTWARE.23//24import Alamofire25extension AFError {26    // ParameterEncodingFailureReason27    var isMissingURLFailed: Bool {28        if case let .parameterEncodingFailed(reason) = self, reason.isMissingURL { return true }29        return false30    }31    var isJSONEncodingFailed: Bool {32        if case let .parameterEncodingFailed(reason) = self, reason.isJSONEncodingFailed { return true }33        return false34    }35    // MultipartEncodingFailureReason36    var isBodyPartURLInvalid: Bool {37        if case let .multipartEncodingFailed(reason) = self, reason.isBodyPartURLInvalid { return true }38        return false39    }40    var isBodyPartFilenameInvalid: Bool {41        if case let .multipartEncodingFailed(reason) = self, reason.isBodyPartFilenameInvalid { return true }42        return false43    }44    var isBodyPartFileNotReachable: Bool {45        if case let .multipartEncodingFailed(reason) = self, reason.isBodyPartFileNotReachable { return true }46        return false47    }48    var isBodyPartFileNotReachableWithError: Bool {49        if case let .multipartEncodingFailed(reason) = self, reason.isBodyPartFileNotReachableWithError { return true }50        return false51    }52    var isBodyPartFileIsDirectory: Bool {53        if case let .multipartEncodingFailed(reason) = self, reason.isBodyPartFileIsDirectory { return true }54        return false55    }56    var isBodyPartFileSizeNotAvailable: Bool {57        if case let .multipartEncodingFailed(reason) = self, reason.isBodyPartFileSizeNotAvailable { return true }58        return false59    }60    var isBodyPartFileSizeQueryFailedWithError: Bool {61        if case let .multipartEncodingFailed(reason) = self, reason.isBodyPartFileSizeQueryFailedWithError { return true }62        return false63    }64    var isBodyPartInputStreamCreationFailed: Bool {65        if case let .multipartEncodingFailed(reason) = self, reason.isBodyPartInputStreamCreationFailed { return true }66        return false67    }68    var isOutputStreamCreationFailed: Bool {69        if case let .multipartEncodingFailed(reason) = self, reason.isOutputStreamCreationFailed { return true }70        return false71    }72    var isOutputStreamFileAlreadyExists: Bool {73        if case let .multipartEncodingFailed(reason) = self, reason.isOutputStreamFileAlreadyExists { return true }74        return false75    }76    var isOutputStreamURLInvalid: Bool {77        if case let .multipartEncodingFailed(reason) = self, reason.isOutputStreamURLInvalid { return true }78        return false79    }80    var isOutputStreamWriteFailed: Bool {81        if case let .multipartEncodingFailed(reason) = self, reason.isOutputStreamWriteFailed { return true }82        return false83    }84    var isInputStreamReadFailed: Bool {85        if case let .multipartEncodingFailed(reason) = self, reason.isInputStreamReadFailed { return true }86        return false87    }88    // ResponseSerializationFailureReason89    var isInputDataNilOrZeroLength: Bool {90        if case let .responseSerializationFailed(reason) = self, reason.isInputDataNilOrZeroLength { return true }91        return false92    }93    var isInputFileNil: Bool {94        if case let .responseSerializationFailed(reason) = self, reason.isInputFileNil { return true }95        return false96    }97    var isInputFileReadFailed: Bool {98        if case let .responseSerializationFailed(reason) = self, reason.isInputFileReadFailed { return true }99        return false100    }101    var isStringSerializationFailed: Bool {102        if case let .responseSerializationFailed(reason) = self, reason.isStringSerializationFailed { return true }103        return false104    }105    var isJSONSerializationFailed: Bool {106        if case let .responseSerializationFailed(reason) = self, reason.isJSONSerializationFailed { return true }107        return false108    }109    var isJSONDecodingFailed: Bool {110        if case let .responseSerializationFailed(reason) = self, reason.isDecodingFailed { return true }111        return false112    }113    // ResponseValidationFailureReason114    var isDataFileNil: Bool {115        if case let .responseValidationFailed(reason) = self, reason.isDataFileNil { return true }116        return false117    }118    var isDataFileReadFailed: Bool {119        if case let .responseValidationFailed(reason) = self, reason.isDataFileReadFailed { return true }120        return false121    }122    var isMissingContentType: Bool {123        if case let .responseValidationFailed(reason) = self, reason.isMissingContentType { return true }124        return false125    }126    var isUnacceptableContentType: Bool {127        if case let .responseValidationFailed(reason) = self, reason.isUnacceptableContentType { return true }128        return false129    }130    var isUnacceptableStatusCode: Bool {131        if case let .responseValidationFailed(reason) = self, reason.isUnacceptableStatusCode { return true }132        return false133    }134}135// MARK: -136extension AFError.ParameterEncodingFailureReason {137    var isMissingURL: Bool {138        if case .missingURL = self { return true }139        return false140    }141    var isJSONEncodingFailed: Bool {142        if case .jsonEncodingFailed = self { return true }143        return false144    }145}146// MARK: -147extension AFError.MultipartEncodingFailureReason {148    var isBodyPartURLInvalid: Bool {149        if case .bodyPartURLInvalid = self { return true }150        return false151    }152    var isBodyPartFilenameInvalid: Bool {153        if case .bodyPartFilenameInvalid = self { return true }154        return false155    }156    var isBodyPartFileNotReachable: Bool {157        if case .bodyPartFileNotReachable = self { return true }158        return false159    }160    var isBodyPartFileNotReachableWithError: Bool {161        if case .bodyPartFileNotReachableWithError = self { return true }162        return false163    }164    var isBodyPartFileIsDirectory: Bool {165        if case .bodyPartFileIsDirectory = self { return true }166        return false167    }168    var isBodyPartFileSizeNotAvailable: Bool {169        if case .bodyPartFileSizeNotAvailable = self { return true }170        return false171    }172    var isBodyPartFileSizeQueryFailedWithError: Bool {173        if case .bodyPartFileSizeQueryFailedWithError = self { return true }174        return false175    }176    var isBodyPartInputStreamCreationFailed: Bool {177        if case .bodyPartInputStreamCreationFailed = self { return true }178        return false179    }180    var isOutputStreamCreationFailed: Bool {181        if case .outputStreamCreationFailed = self { return true }182        return false183    }184    var isOutputStreamFileAlreadyExists: Bool {185        if case .outputStreamFileAlreadyExists = self { return true }186        return false187    }188    var isOutputStreamURLInvalid: Bool {189        if case .outputStreamURLInvalid = self { return true }190        return false191    }192    var isOutputStreamWriteFailed: Bool {193        if case .outputStreamWriteFailed = self { return true }194        return false195    }196    var isInputStreamReadFailed: Bool {197        if case .inputStreamReadFailed = self { return true }198        return false199    }200}201// MARK: -202extension AFError.ResponseSerializationFailureReason {203    var isInputDataNilOrZeroLength: Bool {204        if case .inputDataNilOrZeroLength = self { return true }205        return false206    }207    var isInputFileNil: Bool {208        if case .inputFileNil = self { return true }209        return false210    }211    var isInputFileReadFailed: Bool {212        if case .inputFileReadFailed = self { return true }213        return false214    }215    var isStringSerializationFailed: Bool {216        if case .stringSerializationFailed = self { return true }217        return false218    }219    var isJSONSerializationFailed: Bool {220        if case .jsonSerializationFailed = self { return true }221        return false222    }223    var isDecodingFailed: Bool {224        if case .decodingFailed = self { return true }225        return false226    }227}228// MARK: -229extension AFError.ResponseValidationFailureReason {230    var isDataFileNil: Bool {231        if case .dataFileNil = self { return true }232        return false233    }234    var isDataFileReadFailed: Bool {235        if case .dataFileReadFailed = self { return true }236        return false237    }238    var isMissingContentType: Bool {239        if case .missingContentType = self { return true }240        return false241    }242    var isUnacceptableContentType: Bool {243        if case .unacceptableContentType = self { return true }244        return false245    }246    var isUnacceptableStatusCode: Bool {247        if case .unacceptableStatusCode = self { return true }248        return false249    }250}251// MARK: -252extension AFError.ServerTrustFailureReason {253    var isNoRequiredEvaluator: Bool {254        if case .noRequiredEvaluator = self { return true }255        return false256    }257    var isNoCertificatesFound: Bool {258        if case .noCertificatesFound = self { return true }259        return false260    }261    var isNoPublicKeysFound: Bool {262        if case .noPublicKeysFound = self { return true }263        return false264    }265    var isPolicyApplicationFailed: Bool {266        if case .policyApplicationFailed = self { return true }267        return false268    }269    var isRevocationPolicyCreationFailed: Bool {270        if case .revocationPolicyCreationFailed = self { return true }271        return false272    }273    var isDefaultEvaluationFailed: Bool {274        if case .defaultEvaluationFailed = self { return true }275        return false276    }277    var isHostValidationFailed: Bool {278        if case .hostValidationFailed = self { return true }279        return false280    }281    var isRevocationCheckFailed: Bool {282        if case .revocationCheckFailed = self { return true }283        return false284    }285    var isCertificatePinningFailed: Bool {286        if case .certificatePinningFailed = self { return true }287        return false288    }289    var isPublicKeyPinningFailed: Bool {290        if case .publicKeyPinningFailed = self { return true }291        return false292    }293}...ReflectionMethod_basic1.phpt
Source:ReflectionMethod_basic1.phpt  
...5function reflectMethod($class, $method) {6    $methodInfo = new ReflectionMethod($class, $method);7    echo "**********************************\n";8    echo "Reflecting on method $class::$method()\n\n";9    echo "\nisFinal():\n";10    var_dump($methodInfo->isFinal());11    echo "\nisAbstract():\n";12    var_dump($methodInfo->isAbstract());13    echo "\nisPublic():\n";14    var_dump($methodInfo->isPublic());15    echo "\nisPrivate():\n";16    var_dump($methodInfo->isPrivate());17    echo "\nisProtected():\n";18    var_dump($methodInfo->isProtected());19    echo "\nisStatic():\n";20    var_dump($methodInfo->isStatic());21    echo "\nisConstructor():\n";22    var_dump($methodInfo->isConstructor());23    echo "\nisDestructor():\n";24    var_dump($methodInfo->isDestructor());25    echo "\n**********************************\n";26}27class TestClass28{29    public function foo() {30        echo "Called foo()\n";31    }32    static function stat() {33        echo "Called stat()\n";34    }35    private function priv() {36        echo "Called priv()\n";37    }38    protected function prot() {}39    public function __destruct() {}40}41class DerivedClass extends TestClass {}42interface TestInterface {43    public function int();44    public function __construct($arg);45    public function __destruct();46}47trait TestTrait {48    public abstract function __construct();49    public function __destruct() {50    }51}52reflectMethod("DerivedClass", "foo");53reflectMethod("TestClass", "stat");54reflectMethod("TestClass", "priv");55reflectMethod("TestClass", "prot");56reflectMethod("DerivedClass", "prot");57reflectMethod("TestInterface", "int");58reflectMethod("ReflectionProperty", "__construct");59reflectMethod("TestClass", "__destruct");60reflectMethod("TestInterface", "__construct");61reflectMethod("TestInterface", "__destruct");62reflectMethod("TestTrait", "__construct");63reflectMethod("TestTrait", "__destruct");64?>65--EXPECT--66**********************************67Reflecting on method DerivedClass::foo()68isFinal():69bool(false)70isAbstract():71bool(false)72isPublic():73bool(true)74isPrivate():75bool(false)76isProtected():77bool(false)78isStatic():79bool(false)80isConstructor():81bool(false)82isDestructor():83bool(false)84**********************************85**********************************86Reflecting on method TestClass::stat()87isFinal():88bool(false)89isAbstract():90bool(false)91isPublic():92bool(true)93isPrivate():94bool(false)95isProtected():96bool(false)97isStatic():98bool(true)99isConstructor():100bool(false)101isDestructor():102bool(false)103**********************************104**********************************105Reflecting on method TestClass::priv()106isFinal():107bool(false)108isAbstract():109bool(false)110isPublic():111bool(false)112isPrivate():113bool(true)114isProtected():115bool(false)116isStatic():117bool(false)118isConstructor():119bool(false)120isDestructor():121bool(false)122**********************************123**********************************124Reflecting on method TestClass::prot()125isFinal():126bool(false)127isAbstract():128bool(false)129isPublic():130bool(false)131isPrivate():132bool(false)133isProtected():134bool(true)135isStatic():136bool(false)137isConstructor():138bool(false)139isDestructor():140bool(false)141**********************************142**********************************143Reflecting on method DerivedClass::prot()144isFinal():145bool(false)146isAbstract():147bool(false)148isPublic():149bool(false)150isPrivate():151bool(false)152isProtected():153bool(true)154isStatic():155bool(false)156isConstructor():157bool(false)158isDestructor():159bool(false)160**********************************161**********************************162Reflecting on method TestInterface::int()163isFinal():164bool(false)165isAbstract():166bool(true)167isPublic():168bool(true)169isPrivate():170bool(false)171isProtected():172bool(false)173isStatic():174bool(false)175isConstructor():176bool(false)177isDestructor():178bool(false)179**********************************180**********************************181Reflecting on method ReflectionProperty::__construct()182isFinal():183bool(false)184isAbstract():185bool(false)186isPublic():187bool(true)188isPrivate():189bool(false)190isProtected():191bool(false)192isStatic():193bool(false)194isConstructor():195bool(true)196isDestructor():197bool(false)198**********************************199**********************************200Reflecting on method TestClass::__destruct()201isFinal():202bool(false)203isAbstract():204bool(false)205isPublic():206bool(true)207isPrivate():208bool(false)209isProtected():210bool(false)211isStatic():212bool(false)213isConstructor():214bool(false)215isDestructor():216bool(true)217**********************************218**********************************219Reflecting on method TestInterface::__construct()220isFinal():221bool(false)222isAbstract():223bool(true)224isPublic():225bool(true)226isPrivate():227bool(false)228isProtected():229bool(false)230isStatic():231bool(false)232isConstructor():233bool(true)234isDestructor():235bool(false)236**********************************237**********************************238Reflecting on method TestInterface::__destruct()239isFinal():240bool(false)241isAbstract():242bool(true)243isPublic():244bool(true)245isPrivate():246bool(false)247isProtected():248bool(false)249isStatic():250bool(false)251isConstructor():252bool(false)253isDestructor():254bool(true)255**********************************256**********************************257Reflecting on method TestTrait::__construct()258isFinal():259bool(false)260isAbstract():261bool(true)262isPublic():263bool(true)264isPrivate():265bool(false)266isProtected():267bool(false)268isStatic():269bool(false)270isConstructor():271bool(true)272isDestructor():273bool(false)274**********************************275**********************************276Reflecting on method TestTrait::__destruct()277isFinal():278bool(false)279isAbstract():280bool(false)281isPublic():282bool(true)283isPrivate():284bool(false)285isProtected():286bool(false)287isStatic():288bool(false)289isConstructor():290bool(false)291isDestructor():292bool(true)293**********************************...named.go
Source:named.go  
1// run2// Copyright 2009 The Go Authors. All rights reserved.3// Use of this source code is governed by a BSD-style4// license that can be found in the LICENSE file.5// Test that basic operations on named types are valid6// and preserve the type.7package main8type Array [10]byte9type Bool bool10type Chan chan int11type Float float3212type Int int13type Map map[int]byte14type Slice []byte15type String string16// Calling these functions checks at compile time that the argument17// can be converted implicitly to (used as) the given type.18func asArray(Array)   {}19func asBool(Bool)     {}20func asChan(Chan)     {}21func asFloat(Float)   {}22func asInt(Int)       {}23func asMap(Map)       {}24func asSlice(Slice)   {}25func asString(String) {}26func (Map) M() {}27// These functions check at run time that the default type28// (in the absence of any implicit conversion hints)29// is the given type.30func isArray(x interface{})  { _ = x.(Array) }31func isBool(x interface{})   { _ = x.(Bool) }32func isChan(x interface{})   { _ = x.(Chan) }33func isFloat(x interface{})  { _ = x.(Float) }34func isInt(x interface{})    { _ = x.(Int) }35func isMap(x interface{})    { _ = x.(Map) }36func isSlice(x interface{})  { _ = x.(Slice) }37func isString(x interface{}) { _ = x.(String) }38func main() {39	var (40		a     Array41		b     Bool   = true42		c     Chan   = make(Chan)43		f     Float  = 144		i     Int    = 145		m     Map    = make(Map)46		slice Slice  = make(Slice, 10)47		str   String = "hello"48	)49	asArray(a)50	isArray(a)51	asArray(*&a)52	isArray(*&a)53	asArray(Array{})54	isArray(Array{})55	asBool(b)56	isBool(b)57	asBool(!b)58	isBool(!b)59	asBool(true)60	asBool(*&b)61	isBool(*&b)62	asBool(Bool(true))63	isBool(Bool(true))64	asChan(c)65	isChan(c)66	asChan(make(Chan))67	isChan(make(Chan))68	asChan(*&c)69	isChan(*&c)70	asChan(Chan(nil))71	isChan(Chan(nil))72	asFloat(f)73	isFloat(f)74	asFloat(-f)75	isFloat(-f)76	asFloat(+f)77	isFloat(+f)78	asFloat(f + 1)79	isFloat(f + 1)80	asFloat(1 + f)81	isFloat(1 + f)82	asFloat(f + f)83	isFloat(f + f)84	f++85	f += 286	asFloat(f - 1)87	isFloat(f - 1)88	asFloat(1 - f)89	isFloat(1 - f)90	asFloat(f - f)91	isFloat(f - f)92	f--93	f -= 294	asFloat(f * 2.5)95	isFloat(f * 2.5)96	asFloat(2.5 * f)97	isFloat(2.5 * f)98	asFloat(f * f)99	isFloat(f * f)100	f *= 4101	asFloat(f / 2.5)102	isFloat(f / 2.5)103	asFloat(2.5 / f)104	isFloat(2.5 / f)105	asFloat(f / f)106	isFloat(f / f)107	f /= 4108	asFloat(f)109	isFloat(f)110	f = 5111	asFloat(*&f)112	isFloat(*&f)113	asFloat(234)114	asFloat(Float(234))115	isFloat(Float(234))116	asFloat(1.2)117	asFloat(Float(i))118	isFloat(Float(i))119	asInt(i)120	isInt(i)121	asInt(-i)122	isInt(-i)123	asInt(^i)124	isInt(^i)125	asInt(+i)126	isInt(+i)127	asInt(i + 1)128	isInt(i + 1)129	asInt(1 + i)130	isInt(1 + i)131	asInt(i + i)132	isInt(i + i)133	i++134	i += 1135	asInt(i - 1)136	isInt(i - 1)137	asInt(1 - i)138	isInt(1 - i)139	asInt(i - i)140	isInt(i - i)141	i--142	i -= 1143	asInt(i * 2)144	isInt(i * 2)145	asInt(2 * i)146	isInt(2 * i)147	asInt(i * i)148	isInt(i * i)149	i *= 2150	asInt(i / 5)151	isInt(i / 5)152	asInt(5 / i)153	isInt(5 / i)154	asInt(i / i)155	isInt(i / i)156	i /= 2157	asInt(i % 5)158	isInt(i % 5)159	asInt(5 % i)160	isInt(5 % i)161	asInt(i % i)162	isInt(i % i)163	i %= 2164	asInt(i & 5)165	isInt(i & 5)166	asInt(5 & i)167	isInt(5 & i)168	asInt(i & i)169	isInt(i & i)170	i &= 2171	asInt(i &^ 5)172	isInt(i &^ 5)173	asInt(5 &^ i)174	isInt(5 &^ i)175	asInt(i &^ i)176	isInt(i &^ i)177	i &^= 2178	asInt(i | 5)179	isInt(i | 5)180	asInt(5 | i)181	isInt(5 | i)182	asInt(i | i)183	isInt(i | i)184	i |= 2185	asInt(i ^ 5)186	isInt(i ^ 5)187	asInt(5 ^ i)188	isInt(5 ^ i)189	asInt(i ^ i)190	isInt(i ^ i)191	i ^= 2192	asInt(i << 4)193	isInt(i << 4)194	i <<= 2195	asInt(i >> 4)196	isInt(i >> 4)197	i >>= 2198	asInt(i)199	isInt(i)200	asInt(0)201	asInt(Int(0))202	isInt(Int(0))203	i = 10204	asInt(*&i)205	isInt(*&i)206	asInt(23)207	asInt(Int(f))208	isInt(Int(f))209	asMap(m)210	isMap(m)211	asMap(nil)212	m = nil213	asMap(make(Map))214	isMap(make(Map))215	asMap(*&m)216	isMap(*&m)217	asMap(Map(nil))218	isMap(Map(nil))219	asMap(Map{})220	isMap(Map{})221	asSlice(slice)222	isSlice(slice)223	asSlice(make(Slice, 5))224	isSlice(make(Slice, 5))225	asSlice([]byte{1, 2, 3})226	asSlice([]byte{1, 2, 3}[0:2])227	asSlice(slice[0:4])228	isSlice(slice[0:4])229	asSlice(slice[3:8])230	isSlice(slice[3:8])231	asSlice(nil)232	asSlice(Slice(nil))233	isSlice(Slice(nil))234	slice = nil235	asSlice(Slice{1, 2, 3})236	isSlice(Slice{1, 2, 3})237	asSlice(Slice{})238	isSlice(Slice{})239	asSlice(*&slice)240	isSlice(*&slice)241	asString(str)242	isString(str)243	asString(str + "a")244	isString(str + "a")245	asString("a" + str)246	isString("a" + str)247	asString(str + str)248	isString(str + str)249	str += "a"250	str += str251	asString(String('a'))252	isString(String('a'))253	asString(String([]byte(slice)))254	isString(String([]byte(slice)))255	asString(String([]byte(nil)))256	isString(String([]byte(nil)))257	asString("hello")258	asString(String("hello"))259	isString(String("hello"))260	str = "hello"261	isString(str)262	asString(*&str)263	isString(*&str)264}...WaterViewController.swift
Source:WaterViewController.swift  
...47        removeglassfunc()48    }49    50    private func removeglassfunc(){51        cup1.isHidden = true;52        53    }54    55    56    @IBOutlet weak var number: UILabel!57    override func viewDidLoad() {58        super.viewDidLoad()59        cup1.isHidden = true;60        cup2.isHidden = true;61        cup3.isHidden = true;62        cup4.isHidden = true;63        cup5.isHidden = true;64        cup6.isHidden = true;65        cup7.isHidden = true;66        cup9.isHidden = true;67        number.isHidden = true;68        removeoutlet.isHidden = true;69    }70    private func addWater(){71    if (number.text == "0") {72    cup1.isHidden = false;73    number.text="1";74    removeoutlet.isHidden = false75    }76    else if (number.text == "1") {77    cup2.isHidden = false;78    number.text="2";79    removeoutlet.isHidden = false80    }81    82    else if (number.text == "2") {83    cup3.isHidden = false;84    number.text="3";85    }86    else if (number.text == "3") {87    cup4.isHidden = false;88    number.text="4";89    }90    else if (number.text == "4") {91    cup5.isHidden = false;92    number.text="5";93    }94    else if (number.text == "5") {95    cup6.isHidden = false;96    number.text="6";97    }98    else if (number.text == "6") {99    cup7.isHidden = false;100    number.text="7";101    }102    else   {103    cup9.isHidden = false;104    number.isHidden = false;105    number.text="Congratulations you made it";106    }107    108    109    }110    111    112    override func didReceiveMemoryWarning() {113        super.didReceiveMemoryWarning()114        // Dispose of any resources that can be recreated.115    }116    117    118    119  120}...is
Using AI Code Generation
1import Foundation2print("Hello, World!")3let quickSort = QuickSort()4quickSort.sort()5let mergeSort = MergeSort()6mergeSort.sort()7let bubbleSort = BubbleSort()8bubbleSort.sort()9let insertionSort = InsertionSort()10insertionSort.sort()11let selectionSort = SelectionSort()12selectionSort.sort()is
Using AI Code Generation
1import Foundation2class QuickSort {3    func sort(_ array: [Int]) -> [Int] {4        if array.count <= 1 {5        }6        let less = array.filter { $0 < pivot }7        let equal = array.filter { $0 == pivot }8        let greater = array.filter { $0 > pivot }9        return sort(less) + equal + sort(greater)10    }11}12import Foundation13class QuickSort {14    func sort(_ array: [Int]) -> [Int] {15        if array.count <= 1 {16        }17        let less = array.filter { $0 < pivot }18        let equal = array.filter { $0 == pivot }19        let greater = array.filter { $0 > pivot }20        return sort(less) + equal + sort(greater)21    }22}23import Foundation24class QuickSort {25    func sort(_ array: [Int]) -> [Int] {26        if array.count <= 1 {27        }28        let less = array.filter { $0 < pivot }29        let equal = array.filter { $0 == pivot }30        let greater = array.filter { $0 > pivot }31        return sort(less) + equal + sort(greater)32    }33}is
Using AI Code Generation
1func quickSort(a: [Int]) -> [Int] {2    if a.count < 2 {3    }4    let less = a.filter { $0 < pivot }5    let equal = a.filter { $0 == pivot }6    let greater = a.filter { $0 > pivot }7    return quickSort(less) + equal + quickSort(greater)8}9func quickSort(a: [Int]) -> [Int] {10    if a.count < 2 {11    }12    let less = a.filter { $0 < pivot }13    let equal = a.filter { $0 == pivot }14    let greater = a.filter { $0 > pivot }15    return quickSort(less) + equal + quickSort(greater)16}17func quickSort(a: [Int]) -> [Int] {18    if a.count < 2 {19    }20    let less = a.filter { $0 < pivot }21    let equal = a.filter { $0 == pivot }22    let greater = a.filter { $0 > pivot }23    return quickSort(less) + equal + quickSort(greater)24}25func quickSort(a: [Int]) -> [Int] {26    if a.count < 2 {27    }28    let less = a.filter { $0 < pivot }29    let equal = a.filter { $0 == pivot }30    let greater = a.filter { $0 > pivot }31    return quickSort(less) + equal + quickSort(greater)32}33func quickSort(a: [Int]) -> [Int] {34    if a.count < 2 {35    }is
Using AI Code Generation
1QuickSort.sort(&a)2print(a)3QuickSort.sort(&a)4print(a)5QuickSort.sort(&a)6print(a)7QuickSort.sort(&a)8print(a)9QuickSort.sort(&a)10print(a)11QuickSort.sort(&a)12print(a)13QuickSort.sort(&a)14print(a)15QuickSort.sort(&a)16print(a)17QuickSort.sort(&a)18print(a)19QuickSort.sort(&a)20print(a)21QuickSort.sort(&a)is
Using AI Code Generation
1var quickSort = QuickSort()2quickSort.sort(&arrayToSort)3var quickSort = QuickSort()4quickSort.sort(&arrayToSort)5var quickSort = QuickSort()6quickSort.sort(&arrayToSort)7var quickSort = QuickSort()8quickSort.sort(&arrayToSort)9var quickSort = QuickSort()10quickSort.sort(&arrayToSort)11var quickSort = QuickSort()12quickSort.sort(&arrayToSort)13var quickSort = QuickSort()14quickSort.sort(&arrayToSort)15var quickSort = QuickSort()16quickSort.sort(&arrayToSort)17var quickSort = QuickSort()18quickSort.sort(&arrayToSort)19var quickSort = QuickSort()20quickSort.sort(&arrayToSort)21var quickSort = QuickSort()is
Using AI Code Generation
1let quick = QuickSort()2quick.sort(array: array)3let heap = HeapSort()4heap.sort(array: array)5let merge = MergeSort()6merge.sort(array: array)7let insertion = InsertionSort()8insertion.sort(array: array)9let selection = SelectionSort()10selection.sort(array: array)11let bubble = BubbleSort()12bubble.sort(array: array)13let counting = CountingSort()14counting.sort(array: array)Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
