1--TEST--
2"length" filter
3--TEMPLATE--
4{{ array|length }}
5{{ string|length }}
6{{ number|length }}
7{{ to_string_able|length }}
8{{ countable|length }}
9{{ iterator_aggregate|length }}
10{{ null|length }}
11{{ magic|length }}
12{{ non_countable|length }}
13{{ simple_xml_element|length }}
14--DATA--
15return [
16    'array' => [1, 4],
17    'string' => 'foo',
18    'number' => 1000,
19    'to_string_able' => new ToStringStub('foobar'),
20    'countable' => new CountableStub(42),       /* also asserts we do *not* call __toString() */
21    'iterator_aggregate' => new IteratorAggregateStub(['a', 'b', 'c']),   /* also asserts we do *not* call __toString() */
22    'null'          => null,
23    'magic'         => new MagicCallStub(),     /* used to assert we do *not* call __call */
24    'non_countable' => new \StdClass(),
25    'simple_xml_element' => new \SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><doc><elem/><elem/></doc>'),
26]
27--EXPECT--
282
293
304
316
3242
333
340
351
361
372
38