Issue #3172166 by Pooja Ganjage, ekes, Megha_kundar, tstoeckler, mbovan, Spokje, alexpott: Element::properties() produces notices if given an array with integer keys
parent
275f8b575c
commit
60a4206017
|
@ -24,7 +24,7 @@ class Element {
|
|||
* TRUE of the key is a property, FALSE otherwise.
|
||||
*/
|
||||
public static function property($key) {
|
||||
return $key[0] == '#';
|
||||
return is_string($key) && $key[0] == '#';
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -19,6 +19,7 @@ class ElementTest extends UnitTestCase {
|
|||
$this->assertTrue(Element::property('#property'));
|
||||
$this->assertFalse(Element::property('property'));
|
||||
$this->assertFalse(Element::property('property#'));
|
||||
$this->assertFalse(Element::property(0));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -29,13 +30,16 @@ class ElementTest extends UnitTestCase {
|
|||
'#property1' => 'property1',
|
||||
'#property2' => 'property2',
|
||||
'property3' => 'property3',
|
||||
0 => [],
|
||||
];
|
||||
|
||||
$properties = Element::properties($element);
|
||||
|
||||
$this->assertCount(2, $properties);
|
||||
$this->assertContains('#property1', $properties);
|
||||
$this->assertContains('#property2', $properties);
|
||||
$this->assertNotContains('property3', $properties);
|
||||
$this->assertNotContains(0, $properties);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue