From be4223af833fefca06bd114d7e420ee7071a817e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Gro=C3=9Fe?= <grosse@cosmocode.de> Date: Mon, 31 Aug 2015 11:14:21 +0200 Subject: [PATCH] TagCloseElements conform to inherited expectations Throwing an exception on request for an id or attribute breaks several functions like $form->findPositionByAttribute. See issue #1312 --- inc/Form/TagCloseElement.php | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/inc/Form/TagCloseElement.php b/inc/Form/TagCloseElement.php index dc0264c21..252c1af77 100644 --- a/inc/Form/TagCloseElement.php +++ b/inc/Form/TagCloseElement.php @@ -34,11 +34,15 @@ class TagCloseElement extends ValueElement { * do not call this * * @param $id - * @return void + * @return string * @throws \BadMethodCallException */ public function id($id = null) { - throw new \BadMethodCallException('You can\t add ID to closing tag'); + if ($id === null) { + return ''; + } else { + throw new \BadMethodCallException('You can\t add ID to closing tag'); + } } /** @@ -46,22 +50,30 @@ class TagCloseElement extends ValueElement { * * @param $name * @param $value - * @return void + * @return string * @throws \BadMethodCallException */ public function attr($name, $value = null) { - throw new \BadMethodCallException('You can\t add attributes to closing tag'); + if ($value === null) { + return ''; + } else { + throw new \BadMethodCallException('You can\t add attributes to closing tag'); + } } /** * do not call this * * @param $attributes - * @return void + * @return array * @throws \BadMethodCallException */ public function attrs($attributes = null) { - throw new \BadMethodCallException('You can\t add attributes to closing tag'); + if ($attributes === null) { + return array(); + } else { + throw new \BadMethodCallException('You can\t add attributes to closing tag'); + } } /** -- GitLab