--- /dev/null
+--TEST--
+SPL: FilterIterator::__construct(void)
+--CREDITS--
+Sebastian Schürmann
+--FILE--
+<?php
+class myFilterIterator extends FilterIterator {
+ function accept() {
+
+ }
+}
+try {
+ $it = new myFilterIterator();
+} catch (InvalidArgumentException $e) {
+ echo 'InvalidArgumentException thrown';
+}
+?>
+--EXPECT--
+InvalidArgumentException thrown
--- /dev/null
+--TEST--
+SPL: ArrayIterator::__construct(void)
+--CREDITS--
+Sebastian Schürmann
+--FILE--
+<?php
+/**
+ * From Docs: Construct a new array iterator from anything that has a hash table.
+ * NULL, NOTHING is not a hash table ;)
+ */
+class myArrayIterator extends ArrayIterator {
+}
+try {
+ $it = new myArrayIterator();
+} catch (InvalidArgumentException $e) {
+ echo 'InvalidArgumentException thrown';
+}
+echo 'no Exception thrown'
+?>
+--EXPECT--
+no Exception thrown
--- /dev/null
+--TEST--
+SPL: Iterator::__construct(void)
+--CREDITS--
+Sebastian Schürmann
+--FILE--
+<?php
+class myIterator implements Iterator {
+
+ function current() {}
+ function next() {}
+ function key() {}
+ function valid() {}
+ function rewind() {}
+
+}
+try {
+ $it = new myIterator();
+} catch (InvalidArgumentException $e) {
+ echo 'InvalidArgumentException thrown';
+}
+echo 'no Exception thrown';
+?>
+--EXPECT--
+no Exception thrown
--- /dev/null
+--TEST--
+SPL: CachingIterator::__construct(void)
+--CREDITS--
+Sebastian Schürmann
+--FILE--
+<?php
+class myCachingIterator extends CachingIterator {
+
+}
+try {
+ $it = new myCachingIterator();
+} catch (InvalidArgumentException $e) {
+ echo 'InvalidArgumentException thrown';
+}
+?>
+--EXPECT--
+InvalidArgumentException thrown
--- /dev/null
+--TEST--
+SPL: RecursiveCachingIterator::__construct(void)
+--CREDITS--
+Sebastian Schürmann
+--FILE--
+<?php
+class myRecursiveCachingIterator extends RecursiveCachingIterator {
+
+}
+try {
+ $it = new myRecursiveCachingIterator();
+} catch (InvalidArgumentException $e) {
+ echo 'InvalidArgumentException thrown';
+}
+?>
+--EXPECT--
+InvalidArgumentException thrown
--- /dev/null
+--TEST--
+SPL: ParentIterator::__construct(void)
+--CREDITS--
+Sebastian Schürmann
+--FILE--
+<?php
+class myParentIterator extends ParentIterator {
+
+}
+try {
+ $it = new myParentIterator();
+} catch (InvalidArgumentException $e) {
+ echo 'InvalidArgumentException thrown';
+}
+?>
+--EXPECT--
+InvalidArgumentException thrown
--- /dev/null
+--TEST--
+SPL: RecursiveIteratorIterator::__construct(void)
+--CREDITS--
+Sebastian Schürmann
+--FILE--
+<?php
+class myRecursiveIteratorIterator extends RecursiveIteratorIterator {
+
+}
+
+try {
+ $it = new myRecursiveIteratorIterator();
+} catch (InvalidArgumentException $e) {
+ echo 'InvalidArgumentException thrown';
+}
+?>
+--EXPECT--
+InvalidArgumentException thrown
--- /dev/null
+--TEST--
+SPL: LimitIterator::__construct(void)
+--CREDITS--
+Sebastian Schürmann
+--FILE--
+<?php
+class myLimitIterator extends LimitIterator {
+
+}
+try {
+ $it = new myLimitIterator();
+} catch (InvalidArgumentException $e) {
+ echo 'InvalidArgumentException thrown';
+}
+?>
+--EXPECT--
+InvalidArgumentException thrown
--- /dev/null
+--TEST--
+SPL: CachingIterator::__construct(void)
+--CREDITS--
+Sebastian Schürmann
+--FILE--
+<?php
+class myCachingIterator extends CachingIterator {}
+try {
+ $it = new myCachingIterator();
+} catch (InvalidArgumentException $e) {
+ echo 'InvalidArgumentException thrown';
+}
+?>
+--EXPECT--
+InvalidArgumentException thrown
--- /dev/null
+--TEST--
+SPL: RecursiveCachingIterator::__construct(void)
+--CREDITS--
+Sebastian Schürmann
+--FILE--
+<?php
+class myRecursiveCachingIterator extends RecursiveCachingIterator {}
+try {
+ $it = new myRecursiveCachingIterator();
+} catch (InvalidArgumentException $e) {
+ echo 'InvalidArgumentException thrown';
+}
+?>
+--EXPECT--
+InvalidArgumentException thrown
--- /dev/null
+--TEST--
+SPL: NoRewindIterator::__construct(void)
+--CREDITS--
+Sebastian Schürmann
+--FILE--
+<?php
+class myNoRewindIterator extends NoRewindIterator {}
+try {
+ $it = new myNoRewindIterator();
+} catch (InvalidArgumentException $e) {
+ echo 'InvalidArgumentException thrown';
+}
+?>
+--EXPECT--
+InvalidArgumentException thrown
--- /dev/null
+--TEST--
+SPL: AppendIterator::__construct(void)
+--CREDITS--
+Sebastian Schürmann
+--FILE--
+<?php
+class myAppendIterator extends AppendIterator {}
+try {
+ $it = new myAppendIterator();
+ echo "no exception";
+} catch (InvalidArgumentException $e) {
+ echo 'InvalidArgumentException thrown';
+}
+?>
+--EXPECT--
+no exception