You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
1.9 KiB

  1. --TEST--
  2. Test != operator : different types
  3. --FILE--
  4. <?php
  5. $valid_true = array(1, "1", "true", 1.0, array(1));
  6. $valid_false = array(0, "", 0.0, array(), NULL);
  7. $int1 = 679;
  8. $int2 = -67835;
  9. $valid_int1 = array("6 7 9", "6y79", 678);
  10. $valid_int2 = array("- 67835", "-67,835", "-67 835", "-678y35", -76834);
  11. $invalid_int1 = array("679", "679abc", " 679", "679 ", 679.0, 6.79E2, "+679", +679);
  12. $invalid_int2 = array("-67835", "-67835abc", " -67835", "-67835 ", -67835.000, -6.7835E4);
  13. $float1 = 57385.45835;
  14. $float2 = -67345.76567;
  15. $valid_float1 = array("57385. 45835", "57,385.45835", 57385.45834, 5.738545834e4);
  16. $valid_float2 = array("- 67345.76567", "-67,345.76567", -67345.76566, -6.734576566E4);
  17. $invalid_float1 = array("57385.45835", "57385.45835aaa", " 57385.45835", 5.738545835e4);
  18. $invalid_float2 = array("-67345.76567", "-67345.76567aaa", " -67345.76567", -6.734576567E4);
  19. $toCompare = array(
  20. true, $valid_false, $valid_true,
  21. false, $valid_true, $valid_false,
  22. $int1, $valid_int1, $invalid_int1,
  23. $int2, $valid_int2, $invalid_int2,
  24. $float1, $valid_float1, $invalid_float1,
  25. $float2, $valid_float2, $invalid_float2
  26. );
  27. $failed = false;
  28. for ($i = 0; $i < count($toCompare); $i +=3) {
  29. $typeToTest = $toCompare[$i];
  30. $valid_compares = $toCompare[$i + 1];
  31. $invalid_compares = $toCompare[$i + 2];
  32. foreach($valid_compares as $compareVal) {
  33. if ($typeToTest != $compareVal && $typeToTest <> $compareVal) {
  34. // do nothing
  35. }
  36. else {
  37. echo "FAILED: '$typeToTest' == '$compareVal'\n";
  38. $failed = true;
  39. }
  40. }
  41. foreach($invalid_compares as $compareVal) {
  42. if ($typeToTest != $compareVal || $typeToTest <> $compareVal) {
  43. echo "FAILED: '$typeToTest' != '$compareVal'\n";
  44. $failed = true;
  45. }
  46. }
  47. }
  48. if ($failed == false) {
  49. echo "Test Passed\n";
  50. }
  51. ?>
  52. ===DONE===
  53. --EXPECT--
  54. Test Passed
  55. ===DONE===