<?php

use SilverStripe\Dev\SapphireTest;
use SilverStripe\Forms\TextField;
use SilverStripe\Forms\PopoverField;


class PopoverFieldTest extends SapphireTest
{
	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());
	}
}