Merge "Add @covers tags to utils tests"
[lhc/web/wiklou.git] / includes / htmlform / HTMLForm.php
index 702c2eb..d959dd2 100644 (file)
@@ -271,7 +271,7 @@ class HTMLForm extends ContextSource {
         * Construct a HTMLForm object for given display type. May return a HTMLForm subclass.
         *
         * @param string $displayFormat
-        * @param mixed $arguments... Additional arguments to pass to the constructor.
+        * @param mixed $arguments,... Additional arguments to pass to the constructor.
         * @return HTMLForm
         */
        public static function factory( $displayFormat/*, $arguments...*/ ) {
@@ -450,7 +450,7 @@ class HTMLForm extends ContextSource {
         * @since 1.23
         *
         * @param string $fieldname Name of the field
-        * @param array $descriptor Input Descriptor, as described above
+        * @param array &$descriptor Input Descriptor, as described above
         *
         * @throws MWException
         * @return string Name of a HTMLFormField subclass
@@ -1723,6 +1723,12 @@ class HTMLForm extends ContextSource {
         * @return string HTML
         */
        protected function formatSection( array $fieldsHtml, $sectionName, $anyFieldHasLabel ) {
+               if ( !$fieldsHtml ) {
+                       // Do not generate any wrappers for empty sections. Sections may be empty if they only have
+                       // subsections, but no fields. A legend will still be added in wrapFieldSetSection().
+                       return '';
+               }
+
                $displayFormat = $this->getDisplayFormat();
                $html = implode( '', $fieldsHtml );
 
@@ -1893,7 +1899,7 @@ class HTMLForm extends ContextSource {
         * 'novalidate' attribute will be added on the `<form>` element. It will be removed if the user
         * agent has JavaScript support, in htmlform.js.
         *
-        * @return boolean
+        * @return bool
         * @since 1.29
         */
        public function needsJSForHtml5FormValidation() {