public function testInstallPluginWithConst() { #self::markTestSkipped(); // インストールするプラグインを作成する $tmpname = "dummy" . sha1(mt_rand()); $config = array(); $config['name'] = $tmpname . "_name"; $config['code'] = $tmpname; $config['version'] = $tmpname . "_version"; $config['const']['A'] = 'A'; $config['const']['C'] = 1; $tmpdir = $this->createTempDir(); $tmpfile = $tmpdir . '/plugin.tar'; $tar = new \PharData($tmpfile); $tar->addFromString('config.yml', Yaml::dump($config)); $service = $this->app['eccube.service.plugin']; // インストールできるか $this->assertTrue($service->install($tmpfile)); $this->assertTrue((bool) ($plugin = $this->app['eccube.repository.plugin']->findOneBy(array('code' => $tmpname)))); // インストール後disable状態でもconstがロードされているか $app = new Application(); $app->initialize(); $app->initializePlugin(); $app->boot(); $this->assertEquals('A', $app['config'][$tmpname]['const']['A']); $this->assertEquals('1', $app['config'][$tmpname]['const']['C']); // アンインストールできるか $this->assertTrue($service->uninstall($plugin)); }