/
vshmidt
/
php
Обзор
Документация
Войти
/
vshmidt
/
php
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ext/xmlreader/tests/003-get-errors.phpt
77 строк
2 KB
Gina Peter Bnayard
Use "must not" instead of "cannot" wording
21 авг 2024, 23:12
21 авг 2024, 23:12
5853cdb
Код
Авторство
О чём код?
--TEST-- XMLReader: libxml2 XML Reader, Get an attribute, with invalid arguments --CREDITS-- Mark Baker mark@lange.demon.co.uk at the PHPNW2017 Conference for PHP Testfest 2017 --EXTENSIONS-- xmlreader --FILE-- <?php // Set up test data in a new file $xmlstring = '<?xml version="1.0" encoding="UTF-8"?> <books><book num="1" idx="2">book1</book></books>'; $filename = __DIR__ . '/003-get-errors.xml'; file_put_contents($filename, $xmlstring); // Load test data into a new XML Reader $reader = new XMLReader(); if (!$reader->open($filename)) { exit('XML could not be read'); } // Parse the data while ($reader->read()) { if ($reader->nodeType != XMLREADER::END_ELEMENT) { // Find the book node if ($reader->nodeType == XMLREADER::ELEMENT && $reader->name == 'book') { echo $reader->name . "\n"; $attr = $reader->moveToNextAttribute(); var_dump($attr); echo $reader->name . ": "; echo $reader->value . "\n"; // Test for call with an empty string argument try { $reader->getAttribute(''); } catch (ValueError $exception) { echo $exception->getMessage() . "\n"; } // Ensure that node pointer has not changed position echo $reader->name . ": "; echo $reader->value . "\n"; // Test for call by name for an attribute that doesn't exist $attr = $reader->getAttribute('isbn'); var_dump($attr); // NULL expected // Ensure that node pointer has not changed position echo $reader->name . ": "; echo $reader->value . "\n"; // Test for call by number for an attribute that doesn't exist $attr = $reader->getAttributeNo(911); var_dump($attr); // NULL expected // Ensure that node pointer has not changed position echo $reader->name . ": "; echo $reader->value . "\n"; } } } // clean up $reader->close(); ?> --CLEAN-- <?php unlink(__DIR__.'/003-get-errors.xml'); ?> --EXPECT-- book bool(true) num: 1 XMLReader::getAttribute(): Argument #1 ($name) must not be empty num: 1 NULL num: 1 NULL num: 1