--TEST-- DOMElement::toggleAttribute() --EXTENSIONS-- dom --FILE-- loadHTML(''); $xml = new DOMDocument(); $xml->loadXML(''); try { var_dump($html->documentElement->toggleAttribute("\0")); } catch (DOMException $e) { echo $e->getMessage(), "\n"; } echo "--- Selected attribute tests (HTML) ---\n"; var_dump($html->documentElement->toggleAttribute("SELECTED", false)); echo $html->saveHTML(); var_dump($html->documentElement->toggleAttribute("SELECTED")); echo $html->saveHTML(); var_dump($html->documentElement->toggleAttribute("selected", true)); echo $html->saveHTML(); var_dump($html->documentElement->toggleAttribute("selected")); echo $html->saveHTML(); echo "--- Selected attribute tests (XML) ---\n"; var_dump($xml->documentElement->toggleAttribute("SELECTED", false)); echo $xml->saveXML(); var_dump($xml->documentElement->toggleAttribute("SELECTED")); echo $xml->saveXML(); var_dump($xml->documentElement->toggleAttribute("selected", true)); echo $xml->saveXML(); var_dump($xml->documentElement->toggleAttribute("selected")); echo $xml->saveXML(); echo "--- id attribute tests ---\n"; var_dump($html->getElementById("test") === NULL); var_dump($html->documentElement->toggleAttribute("id")); var_dump($html->getElementById("test") === NULL); echo "--- Namespace tests ---\n"; $dom = new DOMDocument(); $dom->loadXML(""); echo "Toggling namespaces:\n"; var_dump($dom->documentElement->toggleAttribute('xmlns')); echo $dom->saveXML(); var_dump($dom->documentElement->toggleAttribute('xmlns:anotherone')); echo $dom->saveXML(); var_dump($dom->documentElement->toggleAttribute('xmlns:anotherone')); echo $dom->saveXML(); var_dump($dom->documentElement->toggleAttribute('xmlns:foo')); echo $dom->saveXML(); var_dump($dom->documentElement->toggleAttribute('xmlns:nope', false)); echo $dom->saveXML(); echo "Toggling namespaced attributes:\n"; var_dump($dom->documentElement->toggleAttribute('test:test')); var_dump($dom->documentElement->firstElementChild->toggleAttribute('foo:test')); var_dump($dom->documentElement->firstElementChild->toggleAttribute('doesnotexist:test')); var_dump($dom->documentElement->firstElementChild->toggleAttribute('doesnotexist:test2', false)); echo $dom->saveXML(); echo "namespace of test:test = "; var_dump($dom->documentElement->getAttributeNode('test:test')->namespaceURI); echo "namespace of foo:test = "; var_dump($dom->documentElement->firstElementChild->getAttributeNode('foo:test')->namespaceURI); echo "namespace of doesnotexist:test = "; var_dump($dom->documentElement->firstElementChild->getAttributeNode('doesnotexist:test')->namespaceURI); echo "Toggling namespaced attributes:\n"; var_dump($dom->documentElement->toggleAttribute('test:test')); var_dump($dom->documentElement->firstElementChild->toggleAttribute('foo:test')); var_dump($dom->documentElement->firstElementChild->toggleAttribute('doesnotexist:test')); var_dump($dom->documentElement->firstElementChild->toggleAttribute('doesnotexist:test2', true)); var_dump($dom->documentElement->firstElementChild->toggleAttribute('doesnotexist:test3', false)); echo $dom->saveXML(); echo "Checking toggled namespace:\n"; var_dump($dom->documentElement->getAttribute('xmlns:anotheron')); ?> --EXPECT-- Invalid Character Error --- Selected attribute tests (HTML) --- bool(false) bool(true) bool(true) bool(false) --- Selected attribute tests (XML) --- bool(false) bool(true) bool(true) bool(false) --- id attribute tests --- bool(false) bool(false) bool(true) --- Namespace tests --- Toggling namespaces: bool(false) bool(false) bool(true) bool(false) bool(false) Toggling namespaced attributes: bool(true) bool(true) bool(true) bool(false) namespace of test:test = NULL namespace of foo:test = string(8) "some:ns2" namespace of doesnotexist:test = NULL Toggling namespaced attributes: bool(false) bool(false) bool(false) bool(true) bool(false) Checking toggled namespace: string(0) ""