You are here

public function PluginTest::testPlugin in Database Sanitize 7

Tests for EdisonLabs\MergeYaml\Plugin

File

vendor/edisonlabs/merge-yaml/tests/src/Unit/PluginTest.php, line 75

Class

PluginTest
Tests for EdisonLabs\MergeYaml\Plugin

Namespace

EdisonLabs\MergeYaml\Unit

Code

public function testPlugin() {
  $plugin = new Plugin();
  $capabilities = $plugin
    ->getCapabilities();
  $this
    ->assertEquals([
    'Composer\\Plugin\\Capability\\CommandProvider' => 'EdisonLabs\\MergeYaml\\CommandProvider',
  ], $capabilities);
  $events = $plugin
    ->getSubscribedEvents();
  $this
    ->assertCount(2, $events);
  $this
    ->assertArrayHasKey(ScriptEvents::POST_INSTALL_CMD, $events);
  $this
    ->assertArrayHasKey(ScriptEvents::POST_UPDATE_CMD, $events);
  $this
    ->assertEquals([
    'postCmd',
    -1,
  ], $events[ScriptEvents::POST_INSTALL_CMD]);
  $this
    ->assertEquals([
    'postCmd',
    -1,
  ], $events[ScriptEvents::POST_UPDATE_CMD]);
  $io = $this
    ->getMockBuilder('Composer\\IO\\IOInterface')
    ->getMock();
  $composer = new Composer();
  $composer
    ->setPackage($this->packageMock);
  $plugin
    ->activate($composer, $io);
  $this
    ->assertInstanceOf('\\EdisonLabs\\MergeYaml\\PluginHandler', $plugin
    ->getPluginHandler());
  $plugin
    ->postCmd($this->eventMock);
  $this
    ->assertFileExists('/tmp/merge-yaml/test.merge.yml');
}