3
* Test the modification-date attribute handler.
8
* @package Kolab_Format
9
* @subpackage UnitTests
10
* @author Gunnar Wrobel <wrobel@pardus.de>
11
* @license http://www.horde.org/licenses/lgpl21 LGPL
12
* @link http://www.horde.org/libraries/Horde_Kolab_Format
16
* Test the modification-date attribute handler.
18
* Copyright 2011-2013 Horde LLC (http://www.horde.org/)
20
* See the enclosed file COPYING for license information (LGPL). If you
21
* did not receive this file, see http://www.horde.org/licenses/lgpl21.
24
* @package Kolab_Format
25
* @subpackage UnitTests
26
* @author Gunnar Wrobel <wrobel@pardus.de>
27
* @license http://www.horde.org/licenses/lgpl21 LGPL
28
* @link http://www.horde.org/libraries/Horde_Kolab_Format
30
class Horde_Kolab_Format_Unit_Xml_Type_ModificationDateTest
31
extends Horde_Kolab_Format_TestCase
33
public function testLoadModificationDate()
35
$attributes = $this->load(
36
'<?xml version="1.0" encoding="UTF-8"?>
37
<kolab version="1.0" a="b"><modification-date>2011-06-28T08:42:11Z</modification-date>c</kolab>',
38
array('element' => 'modification-date')
40
$this->assertInstanceOf('DateTime', $attributes['modification-date']);
43
public function testLoadModificationDateValue()
45
$attributes = $this->load(
46
'<?xml version="1.0" encoding="UTF-8"?>
47
<kolab version="1.0" a="b"><modification-date>2011-06-28T08:42:11Z</modification-date>c</kolab>',
48
array('element' => 'modification-date')
52
$attributes['modification-date']->format('U')
56
public function testLoadStrangeModificationDate()
58
$attributes = $this->load(
59
'<?xml version="1.0" encoding="UTF-8"?>
60
<kolab version="1.0" a="b"><modification-date type="strange"><b/>1970-01-01T00:00:00Z<a/></modification-date>c</kolab>',
61
array('element' => 'modification-date')
63
$this->assertEquals(0, $attributes['modification-date']->format('U'));
66
public function testLoadMissingModificationDate()
68
$attributes = $this->load(
69
'<?xml version="1.0" encoding="UTF-8"?>
70
<kolab version="1.0"/>',
71
array('element' => 'modification-date')
73
$this->assertInstanceOf('DateTime', $attributes['modification-date']);
76
public function testSave()
78
$this->assertInstanceOf(
84
public function testSaveXml()
87
'#<modification-date>\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z</modification-date>#',
91
array('element' => 'modification-date')
96
public function testSaveOverwritesOldValue()
99
'#<modification-date type="strange">\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z<b/><a/></modification-date>#',
101
'<?xml version="1.0" encoding="UTF-8"?>
102
<kolab version="1.0" a="b"><modification-date type="strange"><b/>1970-01-01T00:00:00Z<a/></modification-date>c</kolab>',
104
array('element' => 'modification-date')
110
protected function getTypeClass()
112
return 'Horde_Kolab_Format_Xml_Type_ModificationDate';