public function testPopoverField()
 {
     // Test normal constructor
     $field = new PopoverField('My Title', [new TextField('Name')]);
     $field->setPopoverTitle('Popover Title');
     $this->assertEquals('My Title', $field->Title());
     $this->assertEquals('Popover Title', $field->getPopoverTitle());
     $this->assertEquals('Name', $field->getChildren()->first()->Title());
     // Test single array argument
     $field2 = new PopoverField([new TextField('Other')]);
     $this->assertEmpty($field2->Title());
     $this->assertEquals('Other', $field2->getChildren()->first()->Title());
     // Test variable length constructor
     $field3 = new PopoverField('Field Title', new TextField('First'), new TextField('Second'));
     $this->assertEquals('Field Title', $field3->Title());
     $this->assertEquals('First', $field3->getChildren()->first()->Title());
     $this->assertEquals('Second', $field3->getChildren()->last()->Title());
 }
 /**
  * Build popup menu
  *
  * @param File $record
  * @return PopoverField
  */
 protected function getPopoverMenu($record)
 {
     // Build popover actions
     $popoverActions = array_filter([$this->getAddToCampaignAction($record), $this->getUnpublishAction($record), $this->getDeleteAction($record)]);
     if ($popoverActions) {
         return PopoverField::create($popoverActions)->setPlacement('top')->setButtonTooltip(_t('SilverStripe\\AssetAdmin\\Forms\\FileFormFactory.OTHER_ACTIONS', 'Other actions'));
     }
     return null;
 }