Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
--TEST--
2
XML_Query2XML::_executeEncoder(): basic functionality
3
--SKIPIF--
4
<?php require_once dirname(dirname(__FILE__)) . '/skipif.php'; ?>
5
--FILE--
6
<?php
7
    require_once 'XML/Query2XML.php';
8
    require_once dirname(dirname(__FILE__)) . '/db_init.php';
9
    $query2xml =& XML_Query2XML::factory($db);
10
    $dom =& $query2xml->getXML(
11
        "SELECT
12
            artistid,
13
            '" . utf8_encode('Père Noël') . "' AS name,
14
            '" . 'Père Noël' . "' AS name2,
15
            '" . utf8_encode('Père Noël') . "' AS name3,
16
            '" . 'Père Noël' . "' AS name4
17
         FROM
18
            artist",
19
        array(
20
            'rootTag' => 'xmas',
21
            'rowTag' => 'CEO',
22
            'idColumn' => 'artistid',
23
            'encoder' => false,
24
            'elements' => array(
25
                'name_nativeUTF8_noEncoding' => 'name',
26
                'name_nonUTF8_noEncoding' => 'name2',
27
                'name_nativeUTF8_2ndEncoding' => array(
28
                    'value' => 'name3',
29
                    'encoder' => null
30
                ),
31
                'name_nonUTF8_encoding' => array(
32
                    'value' => 'name4',
33
                    'encoder' => null
34
                )
35
            )
36
        )
37
    );
38
    $items = $dom->getElementsByTagName('name_nativeUTF8_noEncoding');
39
    for ($i = 0; $i < $items->length; $i++) {
40
        echo $items->item($i)->nodeValue === utf8_encode('Père Noël') ? "Y" : "N";
41
    }
42
 
43
    $items = $dom->getElementsByTagName('name_nonUTF8_noEncoding');
44
    for ($i = 0; $i < $items->length; $i++) {
45
        echo $items->item($i)->nodeValue === 'Père Noël' ? "Y" : "N";
46
    }
47
 
48
    $items = $dom->getElementsByTagName('name_nativeUTF8_2ndEncoding');
49
    for ($i = 0; $i < $items->length; $i++) {
50
        echo $items->item($i)->nodeValue === utf8_encode(utf8_encode('Père Noël')) ? "Y" : "N";
51
    }
52
 
53
    $items = $dom->getElementsByTagName('name_nonUTF8_encoding');
54
    for ($i = 0; $i < $items->length; $i++) {
55
        echo $items->item($i)->nodeValue === utf8_encode('Père Noël') ? "Y" : "N";
56
    }
57
    echo "\n";
58
 
59
    $dom->formatOutput = true;
60
    print $dom->saveXML();
61
?>
62
--EXPECT--
63
YYYYYYYYYYYY
64
<?xml version="1.0" encoding="UTF-8"?>
65
<xmas>
66
  <CEO>
67
    <name_nativeUTF8_noEncoding>Père Noël</name_nativeUTF8_noEncoding>
68
    <name_nonUTF8_noEncoding>Père Noël</name_nonUTF8_noEncoding>
69
    <name_nativeUTF8_2ndEncoding>Père Noël</name_nativeUTF8_2ndEncoding>
70
    <name_nonUTF8_encoding>Père Noël</name_nonUTF8_encoding>
71
  </CEO>
72
  <CEO>
73
    <name_nativeUTF8_noEncoding>Père Noël</name_nativeUTF8_noEncoding>
74
    <name_nonUTF8_noEncoding>Père Noël</name_nonUTF8_noEncoding>
75
    <name_nativeUTF8_2ndEncoding>Père Noël</name_nativeUTF8_2ndEncoding>
76
    <name_nonUTF8_encoding>Père Noël</name_nonUTF8_encoding>
77
  </CEO>
78
  <CEO>
79
    <name_nativeUTF8_noEncoding>Père Noël</name_nativeUTF8_noEncoding>
80
    <name_nonUTF8_noEncoding>Père Noël</name_nonUTF8_noEncoding>
81
    <name_nativeUTF8_2ndEncoding>Père Noël</name_nativeUTF8_2ndEncoding>
82
    <name_nonUTF8_encoding>Père Noël</name_nonUTF8_encoding>
83
  </CEO>
84
</xmas>