#/** * @package Akismet */ /* Plugin Name: Akismet Anti-spam: Spam Protection Plugin URI: https://akismet.com/ Description: Used by millions, Akismet is quite possibly the best way in the world to protect your blog from spam. Akismet Anti-spam keeps your site protected even while you sleep. To get started: activate the Akismet plugin and then go to your Akismet Settings page to set up your API key. Version: 5.4 Requires at least: 5.8 Requires PHP: 7.2 Author: Automattic - Anti-spam Team Author URI: https://automattic.com/wordpress-plugins/ License: GPLv2 or later Text Domain: akismet */ /* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Copyright 2005-2025 Automattic, Inc. */ // Make sure we don't expose any info if called directly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
| Server IP : 62.109.13.187 / Your IP : 216.73.216.11 [ Web Server : Apache/2.4.6 (CentOS) mpm-itk/2.4.7-04 OpenSSL/1.0.2k-fips PHP/8.2.28 System : Linux robothost.ru 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : mosrembit ( 6064) PHP Version : 8.2.28 Disable Function : NONE Domains : 0 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/tests/pear/XML_Util/tests/ |
Upload File : |
--TEST--
XML_Util::createTagFromArray() basic tests
--CREDITS--
Chuck Burgess <ashnazg@php.net>
# created for v1.2.0a1 2008-05-04
--FILE--
<?php
require_once 'XML' . DIRECTORY_SEPARATOR . 'Util.php';
echo '=====XML_Util::createTagFromArray() basic tests=====' . PHP_EOL . PHP_EOL;
$bad = array(
"foo" => "bar",
);
$tag1 = array(
"qname" => "foo:bar",
);
$tag2 = array(
"qname" => "foo:bar",
"namespaceUri" => "http://foo.com",
);
$tag3 = array(
"qname" => "foo:bar",
"namespaceUri" => "http://foo.com",
"attributes" => array( "key" => "value", "argh" => "fruit&vegetable" ),
);
$tag4 = array(
"qname" => "foo:bar",
"namespaceUri" => "http://foo.com",
"attributes" => array( "key" => "value", "argh" => "fruit&vegetable" ),
"content" => "I'm inside the tag",
);
$tag5 = array(
"qname" => "foo:bar",
"attributes" => array( "key" => "value", "argh" => "fruit&vegetable" ),
"content" => "I'm inside the tag",
);
$tag6 = array(
"qname" => "foo:bar",
"namespaceUri" => "http://foo.com",
"content" => "I'm inside the tag",
);
$tag7 = array(
"namespaceUri" => "http://foo.com",
"attributes" => array( "key" => "value", "argh" => "fruit&vegetable" ),
"content" => "I'm inside the tag",
);
$tag8 = array(
'content' => array('foo', 'bar')
);
$tag9 = array(
'qname' => 'foo:bar',
'namespaces' => array('ns1' => 'uri1', 'ns2' => 'uri2')
);
$tag10 = array(
'namespace' => 'http://foo.org',
'localPart' => 'bar'
);
$tag11 = array(
'namespace' => '',
'localPart' => 'bar'
);
$tag12 = array(
'localPart' => 'foo',
'namespaceUri' => 'http://bar.org'
);
echo "TEST: basic usage with an invalid array" . PHP_EOL;
echo XML_Util::createTagFromArray($bad) . PHP_EOL . PHP_EOL;
echo "TEST: basic usage with a valid array (qname only)" . PHP_EOL;
echo XML_Util::createTagFromArray($tag1) . PHP_EOL . PHP_EOL;
echo "TEST: basic usage with a valid array (qname and namespaceUri)" . PHP_EOL;
echo XML_Util::createTagFromArray($tag2) . PHP_EOL . PHP_EOL;
echo "TEST: basic usage with a valid array (qname, namespaceUri, and attributes)" . PHP_EOL;
echo XML_Util::createTagFromArray($tag3) . PHP_EOL . PHP_EOL;
echo "TEST: basic usage with a valid array (qname, namespaceUri, attributes, and content)" . PHP_EOL;
echo XML_Util::createTagFromArray($tag4) . PHP_EOL . PHP_EOL;
echo "TEST: basic usage with a valid array (qname, attributes, and content)" . PHP_EOL;
echo XML_Util::createTagFromArray($tag5) . PHP_EOL . PHP_EOL;
echo "TEST: basic usage with a valid array (qname, namespaceUri, and content)" . PHP_EOL;
echo XML_Util::createTagFromArray($tag6) . PHP_EOL . PHP_EOL;
echo "TEST: basic usage with a valid array (namespaceUri, attributes, and content)" . PHP_EOL;
echo XML_Util::createTagFromArray($tag7) . PHP_EOL . PHP_EOL;
echo "TEST: basic usage with a valid array (qname, namespaceUri, attributes, and content), plus REPLACE_ENTITIES" . PHP_EOL;
echo XML_Util::createTagFromArray($tag4, XML_UTIL_REPLACE_ENTITIES) . PHP_EOL . PHP_EOL;
echo "TEST: basic usage with a valid array (qname, namespaceUri, attributes, and content), plus ENTITIES_NONE" . PHP_EOL;
echo XML_Util::createTagFromArray($tag4, XML_UTIL_ENTITIES_NONE) . PHP_EOL . PHP_EOL;
echo "TEST: basic usage with a valid array (qname, namespaceUri, attributes, and content), REPLACE_ENTITIES, and multiline = false" . PHP_EOL;
echo XML_Util::createTagFromArray($tag4, XML_UTIL_REPLACE_ENTITIES, false) . PHP_EOL . PHP_EOL;
echo "TEST: basic usage with a valid array (qname, namespaceUri, attributes, and content), REPLACE_ENTITIES, and multiline = true" . PHP_EOL;
echo XML_Util::createTagFromArray($tag4, XML_UTIL_REPLACE_ENTITIES, true) . PHP_EOL . PHP_EOL;
echo "TEST: basic usage with a valid array (qname, namespaceUri, attributes, and content), REPLACE_ENTITIES, multiline = true, and indent = (2 spaces)" . PHP_EOL;
echo XML_Util::createTagFromArray($tag4, XML_UTIL_REPLACE_ENTITIES, true, ' ') . PHP_EOL . PHP_EOL;
echo "TEST: basic usage with a valid array (qname, namespaceUri, attributes, and content), REPLACE_ENTITIES, multiline = true, indent = (2 spaces), and linebreak = '^'" . PHP_EOL;
echo XML_Util::createTagFromArray($tag4, XML_UTIL_REPLACE_ENTITIES, true, ' ', '^') . PHP_EOL . PHP_EOL;
echo "TEST: basic usage with a valid array (qname, namespaceUri, attributes, and content), REPLACE_ENTITIES, multiline = true, indent = (2 spaces), linebreak = '^', and sortAttributes = true" . PHP_EOL;
echo XML_Util::createTagFromArray($tag4, XML_UTIL_REPLACE_ENTITIES, true, ' ', '^', true) . PHP_EOL . PHP_EOL;
echo "TEST: basic usage with a valid array (qname, namespaceUri, attributes, and content), REPLACE_ENTITIES, multiline = true, indent = (2 spaces), linebreak = '^', and sortAttributes = false" . PHP_EOL;
echo XML_Util::createTagFromArray($tag4, XML_UTIL_REPLACE_ENTITIES, true, ' ', '^', false) . PHP_EOL . PHP_EOL;
echo 'TEST: cause a non-scalar error on the content tag' . PHP_EOL;
echo XML_Util::createTagFromArray($tag8) . PHP_EOL . PHP_EOL;
echo 'TEST: handle an array of namespaces being passed' . PHP_EOL;
echo XML_Util::createTagFromArray($tag9) . PHP_EOL . PHP_EOL;
echo 'TEST: qname is derived from namespace + localPart' . PHP_EOL;
echo XML_Util::createTagFromArray($tag10) . PHP_EOL . PHP_EOL;
echo 'TEST: qname is derived from localPart only' . PHP_EOL;
echo XML_Util::createTagFromArray($tag11) . PHP_EOL . PHP_EOL;
echo 'TEST: namespaceUri is given, but namespace is not' . PHP_EOL;
echo XML_Util::createTagFromArray($tag12) . PHP_EOL . PHP_EOL;
?>
--EXPECT--
=====XML_Util::createTagFromArray() basic tests=====
TEST: basic usage with an invalid array
You must either supply a qualified name (qname) or local tag name (localPart).
TEST: basic usage with a valid array (qname only)
<foo:bar />
TEST: basic usage with a valid array (qname and namespaceUri)
<foo:bar xmlns:foo="http://foo.com" />
TEST: basic usage with a valid array (qname, namespaceUri, and attributes)
<foo:bar argh="fruit&vegetable" key="value" xmlns:foo="http://foo.com" />
TEST: basic usage with a valid array (qname, namespaceUri, attributes, and content)
<foo:bar argh="fruit&vegetable" key="value" xmlns:foo="http://foo.com">I'm inside the tag</foo:bar>
TEST: basic usage with a valid array (qname, attributes, and content)
<foo:bar argh="fruit&vegetable" key="value">I'm inside the tag</foo:bar>
TEST: basic usage with a valid array (qname, namespaceUri, and content)
<foo:bar xmlns:foo="http://foo.com">I'm inside the tag</foo:bar>
TEST: basic usage with a valid array (namespaceUri, attributes, and content)
You must either supply a qualified name (qname) or local tag name (localPart).
TEST: basic usage with a valid array (qname, namespaceUri, attributes, and content), plus REPLACE_ENTITIES
<foo:bar argh="fruit&vegetable" key="value" xmlns:foo="http://foo.com">I'm inside the tag</foo:bar>
TEST: basic usage with a valid array (qname, namespaceUri, attributes, and content), plus ENTITIES_NONE
<foo:bar argh="fruit&vegetable" key="value" xmlns:foo="http://foo.com">I'm inside the tag</foo:bar>
TEST: basic usage with a valid array (qname, namespaceUri, attributes, and content), REPLACE_ENTITIES, and multiline = false
<foo:bar argh="fruit&vegetable" key="value" xmlns:foo="http://foo.com">I'm inside the tag</foo:bar>
TEST: basic usage with a valid array (qname, namespaceUri, attributes, and content), REPLACE_ENTITIES, and multiline = true
<foo:bar argh="fruit&vegetable"
key="value"
xmlns:foo="http://foo.com">I'm inside the tag</foo:bar>
TEST: basic usage with a valid array (qname, namespaceUri, attributes, and content), REPLACE_ENTITIES, multiline = true, and indent = (2 spaces)
<foo:bar argh="fruit&vegetable"
key="value"
xmlns:foo="http://foo.com">I'm inside the tag</foo:bar>
TEST: basic usage with a valid array (qname, namespaceUri, attributes, and content), REPLACE_ENTITIES, multiline = true, indent = (2 spaces), and linebreak = '^'
<foo:bar argh="fruit&vegetable"^ key="value"^ xmlns:foo="http://foo.com">I'm inside the tag</foo:bar>
TEST: basic usage with a valid array (qname, namespaceUri, attributes, and content), REPLACE_ENTITIES, multiline = true, indent = (2 spaces), linebreak = '^', and sortAttributes = true
<foo:bar argh="fruit&vegetable"^ key="value"^ xmlns:foo="http://foo.com">I'm inside the tag</foo:bar>
TEST: basic usage with a valid array (qname, namespaceUri, attributes, and content), REPLACE_ENTITIES, multiline = true, indent = (2 spaces), linebreak = '^', and sortAttributes = false
<foo:bar key="value"^ argh="fruit&vegetable"^ xmlns:foo="http://foo.com">I'm inside the tag</foo:bar>
TEST: cause a non-scalar error on the content tag
Supplied non-scalar value as tag content
TEST: handle an array of namespaces being passed
<foo:bar xmlns:ns1="uri1" xmlns:ns2="uri2" />
TEST: qname is derived from namespace + localPart
<http://foo.org:bar />
TEST: qname is derived from localPart only
<bar />
TEST: namespaceUri is given, but namespace is not
<foo xmlns="http://bar.org" />