Passed
Push — 4.0 ( cfe93b...546c6c )
by Damian
06:06
created

DateField_DisabledTest::testFieldWithNonValue()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 5
nc 1
nop 0
dl 0
loc 9
rs 9.6666
c 0
b 0
f 0
1
<?php
2
3
namespace SilverStripe\Forms\Tests;
4
5
use IntlDateFormatter;
6
use SilverStripe\Dev\SapphireTest;
7
use SilverStripe\Forms\DateField_Disabled;
8
use SilverStripe\Forms\RequiredFields;
9
use SilverStripe\i18n\i18n;
10
use SilverStripe\ORM\FieldType\DBDatetime;
11
12
/**
13
 * @skipUpgrade
14
 */
15
class DateField_DisabledTest extends SapphireTest
16
{
17
    protected function setUp()
18
    {
19
        parent::setUp();
20
        i18n::set_locale('en_NZ');
21
        DBDatetime::set_mock_now('2011-02-01 8:34:00');
22
    }
23
24
    public function testFieldToday()
25
    {
26
        // Today date with normal local
27
        $actual = DateField_Disabled::create('Test')
28
            ->setValue('2011-02-01')
29
            ->Field();
30
        $expected = '<span class="readonly" id="Test">1/02/2011 (today)</span>';
31
        $this->assertEquals($expected, $actual);
32
33
        // Test today's date with time
34
        $actual = DateField_Disabled::create('Test')
35
            ->setValue('2011-02-01 10:34:00')
36
            ->Field();
37
        $this->assertEquals($expected, $actual);
38
    }
39
40
    public function testFieldWithDifferentDay()
41
    {
42
        // Test past
43
        $actual = DateField_Disabled::create('Test')
44
            ->setValue('2011-01-27')
45
            ->Field();
46
        $expected = '<span class="readonly" id="Test">27/01/2011, 5 days ago</span>';
47
        $this->assertEquals($expected, $actual);
48
49
        // Test future
50
        $actual = DateField_Disabled::create('Test')
51
            ->setValue('2011-02-06')
52
            ->Field();
53
        $expected = '<span class="readonly" id="Test">6/02/2011, in 5 days</span>';
54
        $this->assertEquals($expected, $actual);
55
    }
56
57
    public function testFieldWithDifferentLocal()
58
    {
59
        // Test different local
60
        $actual = DateField_Disabled::create('Test')
61
            ->setValue('2011-02-06')
62
            ->setHTML5(false)
63
            ->setLocale('de_DE')
64
            ->Field();
65
        $expected = '<span class="readonly" id="Test">06.02.2011, in 5 days</span>';
66
        $this->assertEquals($expected, $actual);
67
    }
68
69
    public function testFieldWithNonValue()
70
    {
71
        // Test none value
72
        $actual = DateField_Disabled::create('Test')->Field();
73
        $expected = '<span class="readonly" id="Test"><i>(not set)</i></span>';
74
        $this->assertEquals($expected, $actual);
75
76
        $actual = DateField_Disabled::create('Test')->setValue('This is not a date')->Field();
77
        $this->assertEquals($expected, $actual);
78
    }
79
}
80