]> granicus.if.org Git - php/commitdiff
Add tests from testfest
authorEtienne Kneuss <colder@php.net>
Sat, 24 May 2008 13:40:33 +0000 (13:40 +0000)
committerEtienne Kneuss <colder@php.net>
Sat, 24 May 2008 13:40:33 +0000 (13:40 +0000)
ext/spl/tests/regexIterator_flags_basic.phpt [new file with mode: 0644]
ext/spl/tests/regexIterator_mode_basic.phpt [new file with mode: 0644]
ext/spl/tests/regexIterator_setMode_error.phpt [new file with mode: 0644]

diff --git a/ext/spl/tests/regexIterator_flags_basic.phpt b/ext/spl/tests/regexIterator_flags_basic.phpt
new file mode 100644 (file)
index 0000000..0a23dbd
--- /dev/null
@@ -0,0 +1,26 @@
+--TEST--
+SPL: RegexIterator::getFlags() and setFlags() basic tests
+--SKIPIF--
+<?php extension_loaded('spl') or die('skip'); ?>
+--CREDITS--
+Felix De Vliegher <felix.devliegher@gmail.com>
+--FILE--
+<?php
+
+$array = array('foo', 'bar', 'baz');
+$iterator = new ArrayIterator($array);
+$regexIterator = new RegexIterator($iterator, "/f/", null, RegexIterator::USE_KEY);
+
+var_dump($regexIterator->getFlags() === RegexIterator::USE_KEY);
+
+// Test a change in flags, there's only one class constant so it has to be another int value
+$regexIterator->setFlags(3);
+var_dump($regexIterator->getFlags() === RegexIterator::USE_KEY);
+$regexIterator->setFlags(RegexIterator::USE_KEY);
+var_dump($regexIterator->getFlags() === RegexIterator::USE_KEY);
+
+?>
+--EXPECT--
+bool(true)
+bool(false)
+bool(true)
diff --git a/ext/spl/tests/regexIterator_mode_basic.phpt b/ext/spl/tests/regexIterator_mode_basic.phpt
new file mode 100644 (file)
index 0000000..204f537
--- /dev/null
@@ -0,0 +1,34 @@
+--TEST--
+SPL: RegexIterator::getMode() and setMode() basic tests
+--SKIPIF--
+<?php extension_loaded('spl') or die('skip'); ?>
+--CREDITS--
+Felix De Vliegher <felix.devliegher@gmail.com>
+--FILE--
+<?php
+
+$array = array('foo', 'bar', 'baz');
+$iterator = new ArrayIterator($array);
+$regexIterator = new RegexIterator($iterator, "/f/");
+
+var_dump($regexIterator->getMode() === RegexIterator::MATCH);
+
+$regexIterator->setMode(RegexIterator::MATCH);
+var_dump($regexIterator->getMode() === RegexIterator::MATCH);
+
+$regexIterator->setMode(RegexIterator::GET_MATCH);
+var_dump($regexIterator->getMode() === RegexIterator::GET_MATCH);
+
+$regexIterator->setMode(RegexIterator::ALL_MATCHES);
+var_dump($regexIterator->getMode() === RegexIterator::ALL_MATCHES);
+
+$regexIterator->setMode(RegexIterator::SPLIT);
+var_dump($regexIterator->getMode() === RegexIterator::SPLIT);
+
+?>
+--EXPECT--
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
diff --git a/ext/spl/tests/regexIterator_setMode_error.phpt b/ext/spl/tests/regexIterator_setMode_error.phpt
new file mode 100644 (file)
index 0000000..617ece3
--- /dev/null
@@ -0,0 +1,30 @@
+--TEST--
+SPL: RegexIterator::setMode() error tests
+--SKIPIF--
+<?php extension_loaded('spl') or die('skip'); ?>
+--CREDITS--
+Felix De Vliegher <felix.devliegher@gmail.com>
+--FILE--
+<?php
+
+$array = array('foo', 'bar', 'baz');
+$regexIterator = new RegexIterator(new ArrayIterator($array), "/f/");
+
+var_dump($regexIterator->getMode());
+
+try {
+       $regexIterator->setMode(7);
+} catch (InvalidArgumentException $e) {
+       var_dump($e->getMessage());
+       var_dump($e->getCode());
+}
+
+$regexIterator->setMode('foo');
+
+?>
+--EXPECTF--
+int(0)
+string(14) "Illegal mode 7"
+int(0)
+
+Warning: RegexIterator::setMode() expects parameter 1 to be long, string given in %s on line %d