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 100 101 102 103 104 105 106 107 108 109 110 111 112
|
--TEST--
PEAR_PackageFile_Generator_v1->toPackageFile() all bells and whistles package.xml
--SKIPIF--
<?php
if (!getenv('PHP_PEAR_RUNTESTS')) {
echo 'skip';
}
?>
--FILE--
<?php
require_once dirname(dirname(__FILE__)) . DIRECTORY_SEPARATOR . 'setup.php.inc';
$pf = &$parser->parse(implode('', file(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'packagefiles' .
DIRECTORY_SEPARATOR . 'theworks.xml')), dirname(__FILE__) . DIRECTORY_SEPARATOR . 'packagefiles' .
DIRECTORY_SEPARATOR . 'theworks.xml');
$generator = &$pf->getDefaultGenerator();
$e = $generator->toPackageFile($temp_path, PEAR_VALIDATE_NORMAL, 'tub.xml');
$phpunit->assertNoErrors('errors');
$phpunit->assertEquals($temp_path . DIRECTORY_SEPARATOR . 'tub.xml', $e, 'filename');
$e = implode('', file($e));
$phpunit->assertEquals(str_replace(array("\r\n", "\r"), array("\n", "\n"), '<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE package SYSTEM "http://pear.php.net/dtd/package-1.0">
<package version="1.0" packagerversion="' . $generator->getPackagerVersion() . '">
<name>foo</name>
<summary>foo</summary>
<description>foo
hi there
</description>
<maintainers>
<maintainer>
<user>single</user>
<name>person</name>
<email>joe@example.com</email>
<role>lead</role>
</maintainer>
</maintainers>
<release>
<version>1.2.0a1</version>
<date>' . date('Y-m-d') . '</date>
<license>PHP License</license>
<state>alpha</state>
<notes>here are the
multi-line
release notes
</notes>
<deps>
<dep type="ext" rel="ge" version="1.0" optional="yes">xmlrpc</dep>
<dep type="pkg" rel="lt" version="1.2" optional="no">Console_Getopt</dep>
<dep type="php" rel="ge" version="4.3.0"/>
</deps>
<configureoptions>
<configureoption name="one" default="three" prompt="two"/>
</configureoptions>
<filelist>
<dir name="sunger">
<file role="data" baseinstalldir="freeb" install-as="merbl.dat" name="foo.dat">
<replace from="@pv@" to="version" type="package-info"/>
</file>
</dir> <!-- /sunger -->
<file role="php" baseinstalldir="freeb" install-as="merbl.php" name="foo.php">
<replace from="@pv@" to="version" type="package-info"/>
</file>
</filelist>
</release>
<changelog>
<release>
<version>1.3.3</version>
<date>2004-10-28</date>
<state>stable</state>
<notes>Installer:
* fix Bug #1186 raise a notice error on PEAR::Common $_packageName
* fix Bug #1249 display the right state when using --force option
* fix Bug #2189 upgrade-all stops if dependancy fails
* fix Bug #1637 The use of interface causes warnings when packaging with PEAR
* fix Bug #1420 Parser bug for T_DOUBLE_COLON
* fix Request #2220 pear5 build fails on dual php4/php5 system
* fix Bug #1163 pear makerpm fails with packages that supply role="doc"
Other:
* add PEAR_Exception class for PHP5 users
* fix critical problem in package.xml for linux in 1.3.2
* fix staticPopCallback() in PEAR_ErrorStack
* fix warning in PEAR_Registry for windows 98 users
</notes>
</release>
<release>
<version>1.3.2</version>
<date>2004-10-28</date>
<state>stable</state>
<notes>Installer:
* fix Bug #1186 raise a notice error on PEAR::Common $_packageName
* fix Bug #1249 display the right state when using --force option
* fix Bug #2189 upgrade-all stops if dependancy fails
* fix Bug #1637 The use of interface causes warnings when packaging with PEAR
* fix Bug #1420 Parser bug for T_DOUBLE_COLON
* fix Request #2220 pear5 build fails on dual php4/php5 system
* fix Bug #1163 pear makerpm fails with packages that supply role="doc"
Other:
* add PEAR_Exception class for PHP5 users
* fix critical problem in package.xml for linux in 1.3.2
* fix staticPopCallback() in PEAR_ErrorStack
* fix warning in PEAR_Registry for windows 98 users
</notes>
</release>
</changelog>
</package>
'), $e, 'xml');
echo 'tests done';
?>
--EXPECT--
tests done
|