1--TEST--
2Check that SplObjectStorage::removeAllExcept generate a warning and returns NULL when passed non-object param
3--CREDITS--
4Matthew Turland (me@matthewturland.com)
5Based on work done at PHPNW Testfest 2009 by Simon Westcott (swestcott@gmail.com)
6--FILE--
7<?php
8
9$data_provider = array(
10   array(),
11   true,
12   "string",
13   12345,
14   1.2345,
15   NULL
16);
17
18foreach($data_provider as $input) {
19
20   $s = new SplObjectStorage();
21
22   var_dump($s->removeAllExcept($input));
23}
24
25?>
26--EXPECTF--
27Warning: SplObjectStorage::removeAllExcept() expects parameter 1 to be SplObjectStorage, array given in %s on line %d
28NULL
29
30Warning: SplObjectStorage::removeAllExcept() expects parameter 1 to be SplObjectStorage, boolean given in %s on line %d
31NULL
32
33Warning: SplObjectStorage::removeAllExcept() expects parameter 1 to be SplObjectStorage, string given in %s on line %d
34NULL
35
36Warning: SplObjectStorage::removeAllExcept() expects parameter 1 to be SplObjectStorage, integer given in %s on line %d
37NULL
38
39Warning: SplObjectStorage::removeAllExcept() expects parameter 1 to be SplObjectStorage, float given in %s on line %d
40NULL
41
42Warning: SplObjectStorage::removeAllExcept() expects parameter 1 to be SplObjectStorage, null given in %s on line %d
43NULL
44