import zend xmlwriter tests

a few spews
Esse commit está contido em:
Paul Tarjan
2013-04-23 19:57:32 -07:00
commit de Sara Golemon
commit 42ad0071ab
54 arquivos alterados com 568 adições e 1 exclusões
+2
Ver Arquivo
@@ -0,0 +1,2 @@
<?xml version="1.0"?>
<book>example</book>
+13
Ver Arquivo
@@ -0,0 +1,13 @@
<?php
/* $Id$ */
$doc_dest = '001.xml';
$xw = xmlwriter_open_memory($doc_dest);
xmlwriter_start_document($xw, '1.0', 'UTF-8');
xmlwriter_start_element($xw, "tag1");
xmlwriter_end_document($xw);
// Force to write and empty the buffer
echo xmlwriter_flush($xw, true);
?>
===DONE===
@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<tag1/>
===DONE===
+26
Ver Arquivo
@@ -0,0 +1,26 @@
<?php
/* $Id$ */
$doc_dest = '001.xml';
$xw = xmlwriter_open_memory($doc_dest);
xmlwriter_start_document($xw, '1.0', 'UTF-8');
xmlwriter_start_element($xw, "tag1");
$res = xmlwriter_start_attribute($xw, 'attr1');
xmlwriter_text($xw, "attr1_value");
xmlwriter_end_attribute($xw);
xmlwriter_write_attribute($xw, "att2", "att2_value");
xmlwriter_text($xw, "Test text for tag1");
$res = xmlwriter_start_element($xw, 'tag2');
if ($res < 1) {
echo "StartElement context validation failed\n";
exit();
}
xmlwriter_end_document($xw);
// Force to write and empty the buffer
echo xmlwriter_flush($xw, true);
?>
===DONE===
@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<tag1 attr1="attr1_value" att2="att2_value">Test text for tag1<tag2/></tag1>
===DONE===
+24
Ver Arquivo
@@ -0,0 +1,24 @@
<?php
/* $Id$ */
$xw = xmlwriter_open_memory();
xmlwriter_set_indent($xw, TRUE);
xmlwriter_start_document($xw, NULL, "UTF-8");
xmlwriter_start_dtd_entity($xw, "ent", false);
xmlwriter_text($xw, "val");
xmlwriter_end_dtd_entity($xw);
xmlwriter_write_dtd_entity($xw, "ent2", "val2");
xmlwriter_write_dtd_element($xw, 'sxe', '(elem1+, elem11, elem22*)');
xmlwriter_write_dtd_attlist($xw, 'sxe', 'id CDATA #implied');
xmlwriter_start_dtd_element($xw, 'elem1');
xmlwriter_text($xw, 'elem2*');
xmlwriter_end_dtd_element($xw);
xmlwriter_start_dtd_attlist($xw, 'elem1');
xmlwriter_text($xw, "attr1 CDATA #required\n");
xmlwriter_text($xw, 'attr2 CDATA #implied');
xmlwriter_end_dtd_attlist($xw);
xmlwriter_end_document($xw);
// Force to write and empty the buffer
$output = xmlwriter_flush($xw, true);
print $output;
?>
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!ENTITY ent "val">
<!ENTITY ent2 "val2">
<!ELEMENT sxe (elem1+, elem11, elem22*)>
<!ATTLIST sxe id CDATA #implied>
<!ELEMENT elem1 elem2*>
<!ATTLIST elem1 attr1 CDATA #required
attr2 CDATA #implied>
+28
Ver Arquivo
@@ -0,0 +1,28 @@
<?php
/* $Id$ */
/*
Libxml 2.6.24 and up adds a new line after a processing instruction (PI)
*/
$xw = xmlwriter_open_memory();
xmlwriter_set_indent($xw, TRUE);
xmlwriter_start_document($xw, NULL, "UTF-8");
xmlwriter_start_element($xw, 'root');
xmlwriter_write_attribute($xw, 'id', 'elem1');
xmlwriter_start_element($xw, 'elem1');
xmlwriter_write_attribute($xw, 'attr1', 'first');
xmlwriter_write_comment($xw, 'start PI');
xmlwriter_start_element($xw, 'pi');
xmlwriter_write_pi($xw, 'php', 'echo "hello world"; ');
xmlwriter_end_element($xw);
xmlwriter_start_element($xw, 'cdata');
xmlwriter_start_cdata($xw);
xmlwriter_text($xw, '<>&"');
xmlwriter_end_cdata($xw);
xmlwriter_end_element($xw);
xmlwriter_end_element($xw);
xmlwriter_end_element($xw);
xmlwriter_end_document($xw);
// Force to write and empty the buffer
$output = xmlwriter_flush($xw, true);
print $output;
?>
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<root id="elem1">
<elem1 attr1="first">
<!--start PI-->
<pi><?php echo "hello world"; ?>%w</pi>
<cdata><![CDATA[<>&"]]></cdata>
</elem1>
</root>
+23
Ver Arquivo
@@ -0,0 +1,23 @@
<?php
$file = dirname(__FILE__).'/010.tmp';
$xw = xmlwriter_open_uri($file);
var_dump(xmlwriter_start_element($xw, "tag"));
var_dump(xmlwriter_start_attribute($xw, "attr"));
var_dump(xmlwriter_end_attribute($xw));
var_dump(xmlwriter_start_attribute($xw, "-1"));
var_dump(xmlwriter_end_attribute($xw));
var_dump(xmlwriter_start_attribute($xw, "\""));
var_dump(xmlwriter_end_attribute($xw));
var_dump(xmlwriter_end_element($xw));
unset($xw);
var_dump(file_get_contents($file));
@unlink($file);
echo "Done\n";
?>
@@ -0,0 +1,12 @@
bool(true)
bool(true)
bool(true)
HipHop Warning: %a
bool(false)
bool(false)
HipHop Warning: %a
bool(false)
bool(false)
bool(true)
string(14) "<tag attr=""/>"
Done
+21
Ver Arquivo
@@ -0,0 +1,21 @@
<?php
/* $Id$ */
$xw = new XMLWriter();
$xw->openMemory();
$xw->setIndent(TRUE);
$xw->startDocument(NULL, "UTF-8");
$xw->writeDtdElement('sxe', '(elem1+, elem11, elem22*)');
$xw->writeDtdAttlist('sxe', 'id CDATA #implied');
$xw->startDtdElement('elem1');
$xw->text('elem2*');
$xw->endDtdElement();
$xw->startDtdAttlist('elem1');
$xw->text("attr1 CDATA #required\n");
$xw->text('attr2 CDATA #implied');
$xw->endDtdAttlist();
$xw->endDocument();
// Force to write and empty the buffer
$output = $xw->flush(true);
print $output;
?>
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT sxe (elem1+, elem11, elem22*)>
<!ATTLIST sxe id CDATA #implied>
<!ELEMENT elem1 elem2*>
<!ATTLIST elem1 attr1 CDATA #required
attr2 CDATA #implied>
@@ -0,0 +1,23 @@
<?php
$xw = xmlwriter_open_memory();
xmlwriter_start_document($xw, NULL, "UTF-8");
xmlwriter_start_dtd($xw, "root");
xmlwriter_write_dtd_entity($xw, "ent2", "val2");
xmlwriter_end_dtd($xw);
xmlwriter_start_element($xw, "root");
xmlwriter_end_document($xw);
print xmlwriter_flush($xw, true);
print "\n";
$xw = new XMLWriter();
$xw->openMemory();
$xw->startDocument(NULL, "UTF-8");
$xw->startDtd("root");
$xw->writeDtdEntity("c", NULL, 0, "-//W3C//TEXT copyright//EN", "http://www.w3.org/xmlspec/copyright.xml");
$xw->endDtd();
$xw->startElement("root");
$xw->endDocument();
print $xw->flush(true);
?>
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [<!ENTITY ent2 "val2">]><root/>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [<!ENTITY c PUBLIC "-//W3C//TEXT copyright//EN" "http://www.w3.org/xmlspec/copyright.xml">]><root/>
@@ -0,0 +1,26 @@
<?php
$xw = xmlwriter_open_memory();
xmlwriter_set_indent($xw, true);
xmlwriter_start_document($xw);
xmlwriter_start_element_ns($xw, 'test', 'test', 'urn:x-test:');
xmlwriter_write_element_ns($xw, 'test', 'foo', null, '');
xmlwriter_write_element_ns($xw, null, 'bar', 'urn:x-test:', '');
xmlwriter_write_element_ns($xw, null, 'bar', '', '');
xmlwriter_end_element($xw);
xmlwriter_end_document($xw);
print xmlwriter_flush($xw, true);
print "\n";
$xw = new XMLWriter();
$xw->openMemory();
$xw->setIndent(true);
$xw->startDocument();
$xw->startElementNS('test', 'test', 'urn:x-test:');
$xw->writeElementNS('test', 'foo', null, '');
$xw->writeElementNS(null, 'bar', 'urn:x-test:', '');
$xw->writeElementNS(null, 'bar', '', '');
$xw->endElement();
$xw->endDocument();
print $xw->flush(true);
?>
@@ -0,0 +1,13 @@
<?xml version="1.0"?>
<test:test xmlns:test="urn:x-test:">
<test:foo></test:foo>
<bar xmlns="urn:x-test:"></bar>
<bar xmlns=""></bar>
</test:test>
<?xml version="1.0"?>
<test:test xmlns:test="urn:x-test:">
<test:foo></test:foo>
<bar xmlns="urn:x-test:"></bar>
<bar xmlns=""></bar>
</test:test>
@@ -0,0 +1,31 @@
<?php
$xml = new XmlWriter();
$xml->openMemory();
$xml->setIndent(true);
$xml->startDocument();
$xml->startElement('test');
$xml->writeElement('foo', null);
$xml->writeElement('foo2', "");
$xml->writeElement('foo3');
$xml->startElement('bar');
$xml->endElement('bar');
$xml->endElement();
$xml->endElement();
print $xml->flush(true);
print "\n";
$xw = new XMLWriter();
$xw->openMemory();
$xw->setIndent(true);
$xw->startDocument();
$xw->startElementNS('test', 'test', 'urn:x-test:');
$xw->writeElementNS('test', 'foo', null, '');
$xw->writeElementNS(null, 'bar', 'urn:x-test:', '');
$xw->writeElementNS(null, 'bar', 'urn:x-test:', NULL);
$xw->writeElementNS(null, 'bar', 'urn:x-test:');
$xw->writeElementNS(null, 'bar', '', '');
$xw->endElement();
$xw->endDocument();
print $xw->flush(true);
?>
@@ -0,0 +1,17 @@
HipHop Warning: %a
<?xml version="1.0"?>
<test>
<foo/>
<foo2></foo2>
<foo3/>
<bar/>
</test>
<?xml version="1.0"?>
<test:test xmlns:test="urn:x-test:">
<test:foo></test:foo>
<bar xmlns="urn:x-test:"></bar>
<bar xmlns="urn:x-test:"/>
<bar xmlns="urn:x-test:"/>
<bar xmlns=""></bar>
</test:test>
@@ -0,0 +1,4 @@
<?php
$path = str_repeat('a', PHP_MAXPATHLEN + 1);
var_dump(xmlwriter_open_uri('file:///' . $path));
?>
@@ -0,0 +1,2 @@
HipHop Warning: %a
bool(false)
@@ -0,0 +1,3 @@
<?php
var_dump(xmlwriter_open_uri(''));
?>
@@ -0,0 +1,2 @@
HipHop Warning: %a
bool(false)
@@ -0,0 +1,3 @@
<?php
var_dump(xmlwriter_open_uri('foo/bar.tmp'));
?>
@@ -0,0 +1,2 @@
HipHop Warning: %a
bool(false)
@@ -0,0 +1,3 @@
<?php
var_dump(xmlwriter_open_uri('file:///'));
?>
@@ -0,0 +1,2 @@
HipHop Warning: %a
bool(false)
@@ -0,0 +1,3 @@
<?php
var_dump(xmlwriter_open_uri('file://localhost/'));
?>
@@ -0,0 +1,2 @@
HipHop Warning: %a
bool(false)
@@ -0,0 +1,11 @@
<?php
$temp_filename = dirname(__FILE__)."/xmlwriter_set_indent_string.tmp";
$fp = fopen($temp_filename, "w");
fwrite ($fp, "Hi");
fclose($fp);
$resource = xmlwriter_open_uri($temp_filename);
var_dump(xmlwriter_set_indent_string($resource, ' '));
?><?php
$temp_filename = dirname(__FILE__)."/xmlwriter_set_indent_string.tmp";
unlink($temp_filename);
?>
@@ -0,0 +1,11 @@
<?php
$temp_filename = dirname(__FILE__)."/xmlwriter_set_indent_string_error.tmp";
$fp = fopen($temp_filename, "w");
fwrite ($fp, "Hi");
fclose($fp);
$resource = xmlwriter_open_uri($temp_filename);
var_dump(xmlwriter_set_indent_string($resource));
?><?php
$temp_filename = dirname(__FILE__)."/xmlwriter_set_indent_string_error.tmp";
unlink($temp_filename);
?>
@@ -0,0 +1,2 @@
HipHop Warning: %a
NULL
@@ -0,0 +1,15 @@
<?php
$xw = xmlwriter_open_memory();
xmlwriter_set_indent($xw, TRUE);
xmlwriter_start_document($xw, NULL, "UTF-8");
xmlwriter_start_element($xw, 'root');
xmlwriter_write_attribute_ns($xw, 'prefix', 'id', 'http://www.php.net/uri', 'elem1');
xmlwriter_start_element($xw, 'elem1');
xmlwriter_write_attribute($xw, 'attr1', 'first');
xmlwriter_end_element($xw);
xmlwriter_full_end_element($xw);
xmlwriter_end_document($xw);
$output = xmlwriter_flush($xw, true);
print $output;
?>
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<root prefix:id="elem1" xmlns:prefix="http://www.php.net/uri">
<elem1 attr1="first"/>
</root>
@@ -0,0 +1,20 @@
<?php
$xw = xmlwriter_open_memory();
xmlwriter_set_indent($xw, TRUE);
xmlwriter_start_document($xw, NULL, "UTF-8");
xmlwriter_start_element($xw, 'root');
xmlwriter_write_attribute_ns($xw, 'prefix', '', 'http://www.php.net/uri');
xmlwriter_start_element($xw, 'elem1');
xmlwriter_write_attribute($xw, 'attr1', 'first');
xmlwriter_end_element($xw);
xmlwriter_full_end_element($xw);
xmlwriter_end_document($xw);
$output = xmlwriter_flush($xw, true);
print $output;
// write attribute_ns without start_element first
$xw = xmlwriter_open_memory();
var_dump(xmlwriter_write_attribute_ns($xw, 'prefix', 'id', 'http://www.php.net/uri', 'elem1'));
print xmlwriter_output_memory($xw);
?>
@@ -0,0 +1,5 @@
HipHop Warning: %a
<?xml version="1.0" encoding="UTF-8"?>
<root>
<elem1 attr1="first"/>
</root>%wbool(false)
+23
Ver Arquivo
@@ -0,0 +1,23 @@
<?php
/* $Id$ */
$xw = xmlwriter_open_memory();
xmlwriter_set_indent($xw, TRUE);
xmlwriter_set_indent_string($xw, ' ');
xmlwriter_start_document($xw, '1.0', "UTF-8");
xmlwriter_start_element($xw, 'root');
xmlwriter_start_element_ns($xw, 'ns1', 'child1', 'urn:ns1');
xmlwriter_start_attribute_ns($xw, 'ns1', 'att1', 'urn:ns1');
xmlwriter_text($xw, 'a&b');
xmlwriter_end_attribute($xw);
xmlwriter_write_attribute($xw, 'att2', "double\" single'");
xmlwriter_start_attribute_ns($xw, 'ns1', 'att2', 'urn:ns1');
xmlwriter_text($xw, "<>\"'&");
xmlwriter_end_attribute($xw);
xmlwriter_write_element($xw, 'chars', "special characters: <>\"'&");
xmlwriter_end_element($xw);
xmlwriter_end_document($xw);
// Force to write and empty the buffer
$output = xmlwriter_flush($xw, true);
print $output;
?>
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<root>
<ns1:child1 ns1:att1="a&amp;b" att2="double&quot; single'" ns1:att2="&lt;&gt;&quot;'&amp;" xmlns:ns1="urn:ns1">
<chars>special characters: &lt;&gt;&quot;'&amp;</chars>
</ns1:child1>
</root>
+13
Ver Arquivo
@@ -0,0 +1,13 @@
<?php
/* $Id$ */
$xw = new XMLWriter();
$xw->openMemory();
$xw->startDocument('1.0', 'UTF-8', 'standalone');
$xw->startElement("tag1");
$xw->endDocument();
// Force to write and empty the buffer
echo $xw->flush(true);
?>
===DONE===
@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8" standalone="standalone"?>
<tag1/>
===DONE===
+28
Ver Arquivo
@@ -0,0 +1,28 @@
<?php
/* $Id$ */
$xw = new XMLWriter();
$xw->openMemory();
$xw->startDocument('1.0', 'UTF-8');
$xw->startElement("tag1");
$res = $xw->startAttribute('attr1');
$xw->text("attr1_value");
$xw->endAttribute();
$res = $xw->startAttribute('attr2');
$xw->text("attr2_value");
$xw->endAttribute();
$xw->text("Test text for tag1");
$res = $xw->startElement('tag2');
if ($res < 1) {
echo "StartElement context validation failed\n";
exit();
}
$xw->endDocument();
// Force to write and empty the buffer
echo $xw->flush(true);
?>
===DONE===
@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<tag1 attr1="attr1_value" attr2="attr2_value">Test text for tag1<tag2/></tag1>
===DONE===
+24
Ver Arquivo
@@ -0,0 +1,24 @@
<?php
/* $Id$ */
$xw = new XMLWriter();
$xw->openMemory();
$xw->setIndent(TRUE);
$xw->setIndentString(' ');
$xw->startDocument('1.0', "UTF-8");
$xw->startElement('root');
$xw->startElementNS('ns1', 'child1', 'urn:ns1');
$xw->startAttributeNS('ns1', 'att1', 'urn:ns1');
$xw->text('a&b');
$xw->endAttribute();
$xw->writeAttribute('att2', "double\" single'");
$xw->startAttributeNS('ns1', 'att2', 'urn:ns1');
$xw->text("<>\"'&");
$xw->endAttribute();
$xw->writeElement('chars', "special characters: <>\"'&");
$xw->endElement();
$xw->endDocument();
// Force to write and empty the buffer
$output = $xw->flush(true);
print $output;
?>
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<root>
<ns1:child1 ns1:att1="a&amp;b" att2="double&quot; single'" ns1:att2="&lt;&gt;&quot;'&amp;" xmlns:ns1="urn:ns1">
<chars>special characters: &lt;&gt;&quot;'&amp;</chars>
</ns1:child1>
</root>
+29
Ver Arquivo
@@ -0,0 +1,29 @@
<?php
/* $Id$ */
/*
Libxml 2.6.24 and up adds a new line after a processing instruction (PI)
*/
$xw = new XMLWriter();
$xw->openMemory();
$xw->setIndent(TRUE);
$xw->startDocument("1.0", "UTF-8");
$xw->startElement('root');
$xw->writeAttribute('id', 'elem1');
$xw->startElement('elem1');
$xw->writeAttribute('attr1', 'first');
$xw->writeComment('start PI');
$xw->startElement('pi');
$xw->writePi('php', 'echo "hello world"; ');
$xw->endElement();
$xw->startElement('cdata');
$xw->startCdata();
$xw->text('<>&"');
$xw->endCdata();
$xw->endElement();
$xw->endElement();
$xw->endElement();
$xw->endDocument();
// Force to write and empty the buffer
$output = $xw->flush(true);
print $output;
?>
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<root id="elem1">
<elem1 attr1="first">
<!--start PI-->
<pi><?php echo "hello world"; ?>%w</pi>
<cdata><![CDATA[<>&"]]></cdata>
</elem1>
</root>
@@ -0,0 +1,3 @@
<?php
var_dump(xmlwriter_open_uri());
?>
@@ -0,0 +1,2 @@
HipHop Warning: %a
NULL
@@ -0,0 +1,11 @@
<?php
$xmlwriter = xmlwriter_open_memory();
var_dump(xmlwriter_write_dtd($xmlwriter, 'bla1', 'bla2', 'bla3', 'bla4'));
$output = xmlwriter_flush($xmlwriter, true);
print $output . PHP_EOL;
var_dump(xmlwriter_write_dtd($xmlwriter, '', '', ''));
$output = xmlwriter_flush($xmlwriter, true);
print $output;
?>
@@ -0,0 +1,3 @@
bool(true)
<!DOCTYPE bla1 PUBLIC "bla2" "bla3" [bla4]>
bool(false)
@@ -0,0 +1,4 @@
<?php
$xmlwriter = xmlwriter_open_memory();
var_dump(xmlwriter_write_dtd($xmlwriter));
?>
@@ -0,0 +1,2 @@
HipHop Warning: %a
NULL
+13 -1
Ver Arquivo
@@ -63,6 +63,19 @@ no_import = (
'/Zend/tests/001.phpt',
'/Zend/tests/002.phpt',
'/Zend/tests/003.phpt',
# spews files until they work
'/ext/xmlwriter/tests/001.phpt',
'/ext/xmlwriter/tests/004.phpt',
'/ext/xmlwriter/tests/005.phpt',
'/ext/xmlwriter/tests/006.phpt',
'/ext/xmlwriter/tests/OO_001.phpt',
'/ext/xmlwriter/tests/OO_004.phpt',
'/ext/xmlwriter/tests/OO_005.phpt',
'/ext/xmlwriter/tests/OO_006.phpt',
# not tests
'/ext/xmlwriter/examples/',
# not imported yet, but will be
'/ext/mysql',
@@ -70,7 +83,6 @@ no_import = (
'/ext/pdo_sqlite',
'/ext/spl',
'/ext/standard',
'/ext/xmlwriter',
# not implemented extensions
'/ext/calendar',