/**
  * @covers ::getCampaign
  * @covers ::setCampaign
  * @covers ::__construct
  * @covers ::getAdditionalCampaigns
  * @covers ::setAdditionalCampaigns
  */
 public function test_construct_getters_and_setters($value = '')
 {
     $google_campaign = new GoogleCampaignPlugin(['utm_campaign' => 'newsletter', 'utm_source' => 'clippings', 'utm_medium' => 'email', 'utm_content' => 'main']);
     $this->assertEquals(['utm_campaign' => 'newsletter', 'utm_source' => 'clippings', 'utm_medium' => 'email', 'utm_content' => 'main'], $google_campaign->getCampaign());
     $google_campaign->setCampaign(['utm_source' => 'my_general_source']);
     $this->assertEquals(['utm_source' => 'my_general_source'], $google_campaign->getCampaign());
     $google_campaign->setAdditionalCampaigns(['share' => ['utm_source' => 'my_source']]);
     $this->assertEquals(['share' => ['utm_source' => 'my_source']], $google_campaign->getAdditionalCampaigns());
 }
 /**
  *
  * @param Swift_Events_SendEvent $event
  */
 public function beforeSendPerformed(Swift_Events_SendEvent $event)
 {
     $message = $event->getMessage();
     if ($message->getContentType() === 'text/html') {
         $html = GoogleCampaignPlugin::embedCampaigns($message->getBody(), $this->getCampaign(), $this->getAdditionalCampaigns());
         $message->setBody($html);
     }
     foreach ($message->getChildren() as $part) {
         if (strpos($part->getContentType(), 'text/html') !== false) {
             $html = GoogleCampaignPlugin::embedCampaigns($part->getBody(), $this->getCampaign(), $this->getAdditionalCampaigns());
             $part->setBody($html);
         }
     }
 }