Completed
Push — 4.0 ( b59aea...80f83b )
by Loz
52s queued 21s
created

DateField_DisabledTest   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 63
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 35
dl 0
loc 63
rs 10
c 0
b 0
f 0
wmc 5

5 Methods

Rating   Name   Duplication   Size   Complexity  
A setUp() 0 5 1
A testFieldWithDifferentDay() 0 15 1
A testFieldToday() 0 14 1
A testFieldWithNonValue() 0 9 1
A testFieldWithDifferentLocal() 0 10 1
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