summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEtienne Kneuss <colder@php.net>2008-05-24 13:25:24 +0000
committerEtienne Kneuss <colder@php.net>2008-05-24 13:25:24 +0000
commit5f360ab9bff5424fe55b684f7c71459db3c193cf (patch)
tree8571e96d8a52ea1c94d55badaaf6ebf9c5c36a73
parent51967b91d50905de072646e0fc90e16c061e5086 (diff)
downloadphp-git-5f360ab9bff5424fe55b684f7c71459db3c193cf.tar.gz
Add tests from testfest
-rw-r--r--ext/spl/tests/regexIterator_flags_basic.phpt26
-rw-r--r--ext/spl/tests/regexIterator_mode_basic.phpt34
-rw-r--r--ext/spl/tests/regexIterator_setMode_error.phpt30
3 files changed, 90 insertions, 0 deletions
diff --git a/ext/spl/tests/regexIterator_flags_basic.phpt b/ext/spl/tests/regexIterator_flags_basic.phpt
new file mode 100644
index 0000000000..0a23dbdfb5
--- /dev/null
+++ b/ext/spl/tests/regexIterator_flags_basic.phpt
@@ -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
index 0000000000..204f537cb7
--- /dev/null
+++ b/ext/spl/tests/regexIterator_mode_basic.phpt
@@ -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
index 0000000000..617ece30bc
--- /dev/null
+++ b/ext/spl/tests/regexIterator_setMode_error.phpt
@@ -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