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

TimeFieldReadonlyTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 22
c 1
b 0
f 0
dl 0
loc 35
rs 10
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A testSettingsCarryOver() 0 17 1
A testPerformReadonly() 0 8 1
A setUp() 0 4 1
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