setValue('2011-02-01')
->Field();
$expected = '1/02/2011 (today)';
$this->assertEquals($expected, $actual);
// Test today's date with time
$actual = DateField_Disabled::create('Test')
->setValue('2011-02-01 10:34:00')
->Field();
$this->assertEquals($expected, $actual);
}
public function testFieldWithDifferentDay()
{
// Test past
$actual = DateField_Disabled::create('Test')
->setValue('2011-01-27')
->Field();
$expected = '27/01/2011, 5 days ago';
$this->assertEquals($expected, $actual);
// Test future
$actual = DateField_Disabled::create('Test')
->setValue('2011-02-06')
->Field();
$expected = '6/02/2011, in 5 days';
$this->assertEquals($expected, $actual);
}
public function testFieldWithDifferentLocal()
{
// Test different local
$actual = DateField_Disabled::create('Test')
->setValue('2011-02-06')
->setHTML5(false)
->setLocale('de_DE')
->Field();
$expected = '06.02.2011, in 5 days';
$this->assertEquals($expected, $actual);
}
public function testFieldWithNonValue()
{
// Test none value
$actual = DateField_Disabled::create('Test')->Field();
$expected = '(not set)';
$this->assertEquals($expected, $actual);
$actual = DateField_Disabled::create('Test')->setValue('This is not a date')->Field();
$this->assertEquals($expected, $actual);
}
public function testType()
{
$field = new DateField_Disabled('Test');
$result = $field->Type();
$this->assertStringContainsString('readonly', $result, 'Disabled field should be treated as readonly');
$this->assertStringContainsString('date_disabled', $result, 'Field should contain date_disabled class');
}
}