Issue #3172166 by Pooja Ganjage, ekes, Megha_kundar, tstoeckler, mbovan, Spokje, alexpott: Element::properties() produces notices if given an array with integer keys

merge-requests/1733/head
Alex Pott 2022-01-27 01:54:45 +00:00
parent 275f8b575c
commit 60a4206017
No known key found for this signature in database
GPG Key ID: BDA67E7EE836E5CE
2 changed files with 5 additions and 1 deletions

View File

@ -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] == '#';
}
/**

View File

@ -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);
}
/**