expectExceptionMessageRegExp($sExpectedException); } $oItopTestCase = new ItopTestCase(); $oItopTestCase->SetupItopEnv($sITopEnv); if (null !== $sITopEnv) { $this->assertDirectoryExists(APPROOT."/env-test-$sITopEnv"); } else { $this->assertDirectoryNotExists(APPROOT."/env-test-$sITopEnv"); } if (null !== $sITopEnv && file_exists(__DIR__."/../testUtils/conf/targets/{$sITopEnv}/delta.xml")) { $this->assertFileEquals( __DIR__."/../testUtils/conf/targets/{$sITopEnv}/delta.xml", __DIR__."/../../data/test-{$sITopEnv}.delta.xml" ); } } public function SetupItopEnvProvider() { return [ 'no env' => [ 'sITopEnv' => null, 'sModuleRoot' => null, 'sExpectedException' => null, ], 'not found env' => [ 'sITopEnv' => 'foo', 'sModuleRoot' => null, 'sExpectedException' => "/iTop env 'foo' not found/", ], 'MODULESROOT is defined' => [ 'sITopEnv' => null, 'sModuleRoot' => 'foo', 'sExpectedException' => "/setupItopEnv must be called before the MetaModel startup!/", ], 'fromProduction env' => [ 'sITopEnv' => 'fromProduction', 'sModuleRoot' => null, 'sExpectedException' => null, ], 'no env copy' => [ 'sITopEnv' => 'noEnvCopy', 'sModuleRoot' => null, 'sExpectedException' => null, ], 'env withTestFoo' => [ 'sITopEnv' => 'withTestFoo', 'sModuleRoot' => null, 'sExpectedException' => null, ], 'env withDeltaXml' => [ 'sITopEnv' => 'withDeltaXml', 'sModuleRoot' => null, 'sExpectedException' => null, ], ]; } public function testSetupItopEnvProductedEnv() { $sEnv = 'withDeltaXml'; $sRealEnv = ItopTestCase::TEST_ITOP_ENV_PREFIX.$sEnv; $oItopTestCase = new \Combodo\iTop\Test\UnitTest\ItopDataTestCase(); $oItopTestCase->SetupItopEnv($sEnv); $oItopTestCase->EmulateApplicationStartup(); require_once(APPROOT.'application/utils.inc.php'); $this->assertSame($sRealEnv, MetaModel::GetEnvironment()); Dict::SetDefaultLanguage('EN US'); $this->assertSame('I am translated', Dict::S('module-test-foo-keyword')); } }