Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?php
2
/**
3
 * Unit Tests for serializing arrays
4
 *
5
 * @package    XML_Serializer
6
 * @subpackage tests
7
 * @author     Stephan Schmidt <schst@php-tools.net>
8
 * @author     Chuck Burgess <ashnazg@php.net>
9
 */
10
 
11
/**
12
 * PHPUnit main() hack
13
 *
14
 * "Call class::main() if this source file is executed directly."
15
 */
16
if (!defined('PHPUnit_MAIN_METHOD')) {
17
    define('PHPUnit_MAIN_METHOD', 'XML_Serializer_Option_AttributesContent_TestCase::main');
18
}
19
require_once 'PHPUnit/Framework/TestCase.php';
20
require_once 'PHPUnit/Framework/TestSuite.php';
21
require_once 'PHPUnit/TextUI/TestRunner.php';
22
 
23
require_once 'XML/Serializer.php';
24
 
25
/**
26
 * Unit Tests for serializing arrays
27
 *
28
 * @package    XML_Serializer
29
 * @subpackage tests
30
 * @author     Stephan Schmidt <schst@php-tools.net>
31
 * @author     Chuck Burgess <ashnazg@php.net>
32
 */
33
class XML_Serializer_Option_AttributesContent_TestCase extends PHPUnit_Framework_TestCase {
34
 
35
    private $options = array(
36
        XML_SERIALIZER_OPTION_INDENT         => '',
37
        XML_SERIALIZER_OPTION_LINEBREAKS     => '',
38
        XML_SERIALIZER_OPTION_ATTRIBUTES_KEY => 'atts',
39
        XML_SERIALIZER_OPTION_CONTENT_KEY    => 'content'
40
    );
41
 
42
    public static function main() {
43
        $suite  = new PHPUnit_Framework_TestSuite('XML_Serializer_Option_AttributesContent_TestCase');
44
        $result = PHPUnit_TextUI_TestRunner::run($suite);
45
    }
46
 
47
    protected function setUp() {}
48
 
49
    protected function tearDown() {}
50
 
51
 
52
   /**
53
    * Test attributes
54
    */
55
    public function testAttribs()
56
    {
57
        $s = new XML_Serializer($this->options);
58
        $data = array(
59
            'foo' => array(
60
                'atts' => array('one' => 1),
61
                'bar'  => 'bar'
62
            )
63
        );
64
        $s->serialize($data);
65
        $this->assertEquals(
66
            '<array><foo one="1"><bar>bar</bar></foo></array>'
67
            , $s->getSerializedData()
68
        );
69
    }
70
 
71
   /**
72
    * Test content
73
    */
74
    public function testContent()
75
    {
76
        $s = new XML_Serializer($this->options);
77
        $data = array(
78
            'foo' => array(
79
                'atts'    => array('one' => 1),
80
                'content' => 'some data',
81
            )
82
        );
83
        $s->serialize($data);
84
        $this->assertEquals(
85
            '<array><foo one="1">some data</foo></array>'
86
            , $s->getSerializedData()
87
        );
88
    }
89
 
90
   /**
91
    * Test both
92
    */
93
    public function testMixed()
94
    {
95
        $s = new XML_Serializer($this->options);
96
        $data = array(
97
            'foo' => array(
98
                'atts'    => array('one' => 1),
99
                'content' => 'some data',
100
                'bar'     => 'bar'
101
            )
102
        );
103
        $s->serialize($data);
104
        $this->assertEquals(
105
            '<array><foo one="1">some data<bar>bar</bar></foo></array>'
106
            , $s->getSerializedData()
107
        );
108
    }
109
 
110
   /**
111
    * Test indexed
112
    */
113
    public function testNumbered()
114
    {
115
        $s = new XML_Serializer($this->options);
116
        $data = array(
117
            'foo' => array(
118
                'atts'    => array('one' => 1),
119
                'content' => 'some data',
120
                'bar', 'foo'
121
            )
122
        );
123
        $s->serialize($data);
124
        $this->assertEquals(
125
            '<array><foo one="1">some data<XML_Serializer_Tag>bar</XML_Serializer_Tag><XML_Serializer_Tag>foo</XML_Serializer_Tag></foo></array>'
126
            , $s->getSerializedData()
127
        );
128
    }
129
 
130
}
131
 
132
/**
133
 * PHPUnit main() hack
134
 * "Call class::main() if this source file is executed directly."
135
 */
136
if (PHPUnit_MAIN_METHOD == 'XML_Serializer_Option_AttributesContent_TestCase::main') {
137
    XML_Serializer_Option_AttributesContent_TestCase::main();
138
}
139
?>