Blame view

sources/3rdparty/sabre/dav/tests/Sabre/CalDAV/Property/ScheduleCalendarTranspTest.php 2.13 KB
6d9380f96   Cédric Dupont   Update sources OC...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
  <?php
  
  namespace Sabre\CalDAV\Property;
  
  use Sabre\CalDAV;
  use Sabre\DAV;
  
  class ScheduleCalendarTranspTest extends \PHPUnit_Framework_TestCase {
  
      function testSimple() {
  
          $sccs = new ScheduleCalendarTransp('transparent');
          $this->assertEquals('transparent', $sccs->getValue());
  
      }
  
      /**
       * @expectedException InvalidArgumentException
       */
      function testBadArg() {
  
          $sccs = new ScheduleCalendarTransp('foo');
  
      }
  
      function values() {
  
          return array(
              array('transparent'),
              array('opaque'),
          );
  
      }
  
      /**
       * @depends testSimple
       * @dataProvider values
       */
      function testSerialize($value) {
  
          $property = new ScheduleCalendarTransp($value);
  
          $doc = new \DOMDocument();
          $root = $doc->createElement('d:root');
          $root->setAttribute('xmlns:d','DAV:');
          $root->setAttribute('xmlns:cal',CalDAV\Plugin::NS_CALDAV);
  
          $doc->appendChild($root);
          $server = new DAV\Server();
  
          $property->serialize($server, $root);
  
          $xml = $doc->saveXML();
  
          $this->assertEquals(
  '<?xml version="1.0"?>
  <d:root xmlns:d="DAV:" xmlns:cal="' . CalDAV\Plugin::NS_CALDAV . '">' .
  '<cal:' . $value . '/>' .
  '</d:root>
  ', $xml);
  
      }
  
      /**
       * @depends testSimple
       * @dataProvider values
       */
      function testUnserializer($value) {
  
          $xml = '<?xml version="1.0"?>
  <d:root xmlns:d="DAV:" xmlns:cal="' . CalDAV\Plugin::NS_CALDAV . '">' .
  '<cal:'.$value.'/>' .
  '</d:root>';
  
          $dom = DAV\XMLUtil::loadDOMDocument($xml);
  
          $property = ScheduleCalendarTransp::unserialize($dom->firstChild);
  
          $this->assertTrue($property instanceof ScheduleCalendarTransp);
          $this->assertEquals($value, $property->getValue());
  
      }
  
      /**
       * @depends testSimple
       */
      function testUnserializerBadData() {
  
          $xml = '<?xml version="1.0"?>
  <d:root xmlns:d="DAV:" xmlns:cal="' . CalDAV\Plugin::NS_CALDAV . '">' .
  '<cal:foo/>' .
  '</d:root>';
  
          $dom = DAV\XMLUtil::loadDOMDocument($xml);
  
          $this->assertNull(ScheduleCalendarTransp::unserialize($dom->firstChild));
  
      }
  }