nlopess Tue Jun 27 22:54:29 2006 UTC Modified files: /php-src/ext/libxml/tests .cvsignore 001.phpt 002.phpt 003.phpt 004.phpt test.xml Log: MFB: new tests http://cvs.php.net/viewvc.cgi/php-src/ext/libxml/tests/.cvsignore?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/libxml/tests/.cvsignore diff -u /dev/null php-src/ext/libxml/tests/.cvsignore:1.2 --- /dev/null Tue Jun 27 22:54:29 2006 +++ php-src/ext/libxml/tests/.cvsignore Tue Jun 27 22:54:29 2006 @@ -0,0 +1,6 @@ +phpt.* +*.diff +*.log +*.exp +*.out +*.php http://cvs.php.net/viewvc.cgi/php-src/ext/libxml/tests/001.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/libxml/tests/001.phpt diff -u /dev/null php-src/ext/libxml/tests/001.phpt:1.2 --- /dev/null Tue Jun 27 22:54:29 2006 +++ php-src/ext/libxml/tests/001.phpt Tue Jun 27 22:54:29 2006 @@ -0,0 +1,31 @@ +--TEST-- +libxml_use_internal_errors() +--SKIPIF-- +<?php if (!extension_loaded('libxml')) die('skip'); ?> +--FILE-- +<?php + +var_dump(libxml_use_internal_errors(false)); +var_dump(libxml_use_internal_errors(true)); +var_dump(libxml_use_internal_errors()); +var_dump(libxml_use_internal_errors(new stdclass)); + +var_dump(libxml_get_errors()); +var_dump(libxml_get_last_error()); + +var_dump(libxml_clear_errors()); + +echo "Done\n"; +?> +--EXPECTF-- +bool(false) +bool(false) +bool(true) + +Warning: libxml_use_internal_errors() expects parameter 1 to be boolean, object given in %s001.php on line 6 +NULL +array(0) { +} +bool(false) +NULL +Done http://cvs.php.net/viewvc.cgi/php-src/ext/libxml/tests/002.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/libxml/tests/002.phpt diff -u /dev/null php-src/ext/libxml/tests/002.phpt:1.2 --- /dev/null Tue Jun 27 22:54:29 2006 +++ php-src/ext/libxml/tests/002.phpt Tue Jun 27 22:54:29 2006 @@ -0,0 +1,113 @@ +--TEST-- +libxml_get_errors() +--SKIPIF-- +<?php if (!extension_loaded('simplexml')) die('skip'); ?> +--FILE-- +<?php + +var_dump(libxml_use_internal_errors(true)); + +$xmlstr = <<< XML +<?xml version='1.0' standalone='yes'?> + <movies> + <movie> + <titles>PHP: Behind the Parser</title> + </movie> + </movies> +XML; + +$doc = simplexml_load_string($xmlstr); +$xml = explode("\n", $xmlstr); + +if (!$doc) { + $errors = libxml_get_errors(); + + foreach ($errors as $error) { + echo display_xml_error($error, $xml); + } + + var_dump(libxml_get_last_error()); +} + + +function display_xml_error($error, $xml) +{ + $return = $xml[$error->line - 1] . "\n"; + $return .= str_repeat('-', $error->column) . "^\n"; + + switch ($error->level) { + case LIBXML_ERR_WARNING: + $return .= "Warning $error->code: "; + break; + case LIBXML_ERR_ERROR: + $return .= "Error $error->code: "; + break; + case LIBXML_ERR_FATAL: + $return .= "Fatal Error $error->code: "; + break; + } + + $return .= trim($error->message) . "\n Line: $error->line" . "\n Column: $error->column"; + + if ($error->file) { + $return .= "\n File: $error->file"; + } + + return "$return\n\n--------------------------------------------\n\n"; +} + + +echo "Done\n"; +?> +--EXPECTF-- +bool(false) + <titles>PHP: Behind the Parser</title> +%s +Fatal Error 76: Opening and ending tag mismatch: titles line 4 and title + Line: 4 + Column: %d + +-------------------------------------------- + +object(LibXMLError)#%d (6) { + ["level"]=> + int(3) + ["code"]=> + int(76) + ["column"]=> + int(%d) + ["message"]=> + string(57) "Opening and ending tag mismatch: titles line 4 and title +" + ["file"]=> + string(0) "" + ["line"]=> + int(4) +} +Done +--UEXPECTF-- +bool(false) + <titles>PHP: Behind the Parser</title> +%s +Fatal Error 76: Opening and ending tag mismatch: titles line 4 and title + Line: 4 + Column: %d + +-------------------------------------------- + +object(LibXMLError)#%d (6) { + [u"level"]=> + int(3) + [u"code"]=> + int(76) + [u"column"]=> + int(%d) + [u"message"]=> + string(57) "Opening and ending tag mismatch: titles line 4 and title +" + [u"file"]=> + string(0) "" + [u"line"]=> + int(4) +} +Done http://cvs.php.net/viewvc.cgi/php-src/ext/libxml/tests/003.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/libxml/tests/003.phpt diff -u /dev/null php-src/ext/libxml/tests/003.phpt:1.2 --- /dev/null Tue Jun 27 22:54:29 2006 +++ php-src/ext/libxml/tests/003.phpt Tue Jun 27 22:54:29 2006 @@ -0,0 +1,28 @@ +--TEST-- +libxml_use_internal_errors() memory leaks +--SKIPIF-- +<?php if (!extension_loaded('simplexml')) die('skip'); ?> +--FILE-- +<?php +var_dump(libxml_use_internal_errors(true)); + +$xmlstr = <<< XML +<?xml version='1.0' standalone='yes'?> + <movies> + <movie> + <titles>PHP: Behind the Parser</title> + </movie> + </movies> +XML; + +simplexml_load_string($xmlstr); + +// test memleaks here +var_dump(libxml_use_internal_errors(false)); + +echo "Done\n"; +?> +--EXPECTF-- +bool(false) +bool(true) +Done http://cvs.php.net/viewvc.cgi/php-src/ext/libxml/tests/004.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/libxml/tests/004.phpt diff -u /dev/null php-src/ext/libxml/tests/004.phpt:1.2 --- /dev/null Tue Jun 27 22:54:29 2006 +++ php-src/ext/libxml/tests/004.phpt Tue Jun 27 22:54:29 2006 @@ -0,0 +1,57 @@ +--TEST-- +libxml_set_streams_context() +--SKIPIF-- +<?php if (!extension_loaded('dom')) die('skip'); ?> +--FILE-- +<?php + +$ctxs = array( + NULL, + 'bogus', + 123, + new stdclass, + array('a'), + stream_context_create(), + stream_context_create(array('file')), + stream_context_create(array('file' => array('some_opt' => 'aaa'))) +); + + +foreach ($ctxs as $ctx) { + var_dump(libxml_set_streams_context($ctx)); + $dom = new DOMDocument(); + var_dump($dom->load(dirname(__FILE__).'/test.xml')); +} + +echo "Done\n"; + +?> +--EXPECTF-- +Warning: stream_context_create(): options should have the form ["wrappername"]["optionname"] = $value in %s004.php on line 10 +NULL + +Warning: DOMDocument::load(): supplied argument is not a valid Stream-Context resource in %s004.php on line 18 +bool(true) +NULL + +Warning: DOMDocument::load(): supplied argument is not a valid Stream-Context resource in %s004.php on line 18 +bool(true) +NULL + +Warning: DOMDocument::load(): supplied argument is not a valid Stream-Context resource in %s004.php on line 18 +bool(true) +NULL + +Warning: DOMDocument::load(): supplied argument is not a valid Stream-Context resource in %s004.php on line 18 +bool(true) +NULL + +Warning: DOMDocument::load(): supplied argument is not a valid Stream-Context resource in %s004.php on line 18 +bool(true) +NULL +bool(true) +NULL +bool(true) +NULL +bool(true) +Done http://cvs.php.net/viewvc.cgi/php-src/ext/libxml/tests/test.xml?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/libxml/tests/test.xml diff -u /dev/null php-src/ext/libxml/tests/test.xml:1.2 --- /dev/null Tue Jun 27 22:54:29 2006 +++ php-src/ext/libxml/tests/test.xml Tue Jun 27 22:54:29 2006 @@ -0,0 +1,8 @@ +<library> + <book> + <title>PHP made simple</title> + </book> + <book> + <title>learn PHP easily</title> + </book> +</library>
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php