Completed
Push — 4.4 ( 91f091...2e875a )
by
unknown
38s queued 21s
created

TimeFieldReadonlyTest::testSettingsCarryOver()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 17
Code Lines 14

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 14
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 17
rs 9.7998
1
<?php
2
namespace SilverStripe\Forms;
3
4
use IntlDateFormatter;
5
use SilverStripe\Dev\SapphireTest;
6
use SilverStripe\Forms\TimeField;
7
use SilverStripe\Forms\TimeField_Readonly;
8
use SilverStripe\i18n\i18n;
9
10
class TimeFieldReadonlyTest extends SapphireTest
11
{
12
    protected function setUp()
13
    {
14
        parent::setUp();
15
        i18n::set_locale('en_NZ');
16
    }
17
    
18
    public function testPerformReadonly()
19
    {
20
        $field = new TimeField('Time', 'Time', '23:00:00');
21
        $roField = $field->performReadonlyTransformation();
22
        $this->assertInstanceOf(TimeField_Readonly::class, $roField);
23
        
24
        $this->assertTrue($roField->isReadonly());
25
        $this->assertEquals($roField->dataValue(), '23:00:00');
26
    }
27
    
28
    public function testSettingsCarryOver()
29
    {
30
        $field = new TimeField('Time', 'Time');
31
        $field
32
            ->setHTML5(false)
33
            ->setTimeFormat('KK:mma')
34
            ->setTimezone('America/Halifax')
35
            ->setLocale('en_US')
36
            ->setTimeLength(IntlDateFormatter::SHORT)
37
            ->setValue('23:00:00');
38
        
39
        $roField = $field->performReadonlyTransformation();
40
        $this->assertFalse($roField->getHTML5());
41
        $this->assertEquals($roField->getTimeFormat(), 'KK:mma');
42
        $this->assertEquals($roField->getTimezone(), 'America/Halifax');
43
        $this->assertEquals($roField->getLocale(), 'en_US');
44
        $this->assertEquals($roField->getTimeLength(), IntlDateFormatter::SHORT);
45
    }
46
}
47