public function testCallingDefinedMethodShouldExecuteOnEachItemOfNodelist() { $a = array('foo', 'bar'); $nl = new NodeList($a); $closure = function ($v, $k, $l) { $l[$k] = strtoupper($v); }; $nl->addMethod('ucase', $closure); $nl->ucase(); foreach ($nl as $k => $v) { $this->assertEquals(strtoupper($a[$k]), $v); } }