~ubuntu-branches/ubuntu/saucy/php-horde-kolab-format/saucy

« back to all changes in this revision

Viewing changes to Horde_Kolab_Format-2.0.2/test/Horde/Kolab/Format/Unit/Xml/Type/ModificationDateTest.php

  • Committer: Package Import Robot
  • Author(s): Mathieu Parent
  • Date: 2013-04-07 15:55:32 UTC
  • mfrom: (1.1.2)
  • Revision ID: package-import@ubuntu.com-20130407155532-cserelt1ix1m9cs3
Tags: 2.0.3-1
New upstream version 2.0.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?php
2
 
/**
3
 
 * Test the modification-date attribute handler.
4
 
 *
5
 
 * PHP version 5
6
 
 *
7
 
 * @category   Kolab
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
13
 
 */
14
 
 
15
 
/**
16
 
 * Test the modification-date attribute handler.
17
 
 *
18
 
 * Copyright 2011-2013 Horde LLC (http://www.horde.org/)
19
 
 *
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.
22
 
 *
23
 
 * @category   Kolab
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
29
 
 */
30
 
class Horde_Kolab_Format_Unit_Xml_Type_ModificationDateTest
31
 
extends Horde_Kolab_Format_TestCase
32
 
{
33
 
    public function testLoadModificationDate()
34
 
    {
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')
39
 
        );
40
 
        $this->assertInstanceOf('DateTime', $attributes['modification-date']);
41
 
    }
42
 
 
43
 
    public function testLoadModificationDateValue()
44
 
    {
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')
49
 
        );
50
 
        $this->assertEquals(
51
 
            1309250531,
52
 
            $attributes['modification-date']->format('U')
53
 
        );
54
 
    }
55
 
 
56
 
    public function testLoadStrangeModificationDate()
57
 
    {
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')
62
 
        );
63
 
        $this->assertEquals(0, $attributes['modification-date']->format('U'));
64
 
    }
65
 
 
66
 
    public function testLoadMissingModificationDate()
67
 
    {
68
 
        $attributes = $this->load(
69
 
            '<?xml version="1.0" encoding="UTF-8"?>
70
 
<kolab version="1.0"/>',
71
 
            array('element' => 'modification-date')
72
 
        );
73
 
        $this->assertInstanceOf('DateTime', $attributes['modification-date']);
74
 
    }
75
 
 
76
 
    public function testSave()
77
 
    {
78
 
        $this->assertInstanceOf(
79
 
            'DOMNode',
80
 
            $this->saveToReturn()
81
 
        );
82
 
    }
83
 
 
84
 
    public function testSaveXml()
85
 
    {
86
 
        $this->assertRegexp(
87
 
            '#<modification-date>\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z</modification-date>#',
88
 
            $this->saveToXml(
89
 
                null,
90
 
                array(),
91
 
                array('element' => 'modification-date')
92
 
            )
93
 
        );
94
 
    }
95
 
 
96
 
    public function testSaveOverwritesOldValue()
97
 
    {
98
 
        $this->assertRegexp(
99
 
            '#<modification-date type="strange">\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z<b/><a/></modification-date>#',
100
 
            $this->saveToXml(
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>',
103
 
                array(),
104
 
                array('element' => 'modification-date')
105
 
            )
106
 
        );
107
 
    }
108
 
 
109
 
 
110
 
    protected function getTypeClass()
111
 
    {
112
 
        return 'Horde_Kolab_Format_Xml_Type_ModificationDate';
113
 
    }
114
 
}