bootstrap.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. define('BX_SKIP_INSTALL_CHECK', 1);
  3. $aPathInfo = pathinfo(__FILE__);
  4. $sHeaderPath = $aPathInfo['dirname'] . '/../inc/header.inc.php';
  5. if (!file_exists($sHeaderPath))
  6. die("Script is not installed\n");
  7. require_once($sHeaderPath);
  8. class BxDolTestCase extends \PHPUnit\Framework\TestCase
  9. {
  10. protected function bxRequireAntispam()
  11. {
  12. bx_import('BxDolModule');
  13. $oModule = BxDolModule::getInstance('bx_antispam');
  14. if (!$oModule)
  15. $this->markTestSkipped('bx_antispam module is not installed.');
  16. if (!BxDolDb::getInstance()->isTableExists('bx_antispam_dnsbl_rules'))
  17. $this->markTestSkipped('bx_antispam module is not installed (table bx_antispam_dnsbl_rules is missing).');
  18. return $oModule;
  19. }
  20. function bxMockGet ($sClass, $aModule = array(), $bDisableContructor = false)
  21. {
  22. if ($aModule)
  23. bx_import(bx_ltrim_str($sClass, $aModule['class_prefix']), $aModule);
  24. else
  25. bx_import($sClass);
  26. if ($bDisableContructor) {
  27. $GLOBALS['bxDolClasses'][$sClass] = $this->getMockBuilder($sClass)
  28. ->disableOriginalConstructor()
  29. ->getMock();
  30. } else {
  31. $GLOBALS['bxDolClasses'][$sClass] = $this->createMock($sClass);
  32. }
  33. return $GLOBALS['bxDolClasses'][$sClass];
  34. }
  35. function bxMockFree (&$o)
  36. {
  37. if (!$o)
  38. return;
  39. // PHPUnit 12 names doubles MockObject_* / TestStub_*; older versions used Mock_*.
  40. $sClassName = preg_replace('/^(?:MockObject|TestStub|Mock)_/', '', get_class($o));
  41. $sClassName = preg_replace('/_[A-Za-z0-9]+$/', '', $sClassName);
  42. unset($GLOBALS['bxDolClasses'][$sClassName]);
  43. unset($o);
  44. }
  45. }