Use Sanitizer::mergeAttributes when merging classes into attributes
authorWMDE-Fisch <christoph.jauera@wikimedia.de>
Fri, 5 Jan 2018 09:32:56 +0000 (10:32 +0100)
committerWMDE-Fisch <christoph.jauera@wikimedia.de>
Fri, 5 Jan 2018 09:32:56 +0000 (10:32 +0100)
Change-Id: Ia5199a75e6926fe64b3d99d5b5914320491176bb

includes/editpage/TextboxBuilder.php
tests/phpunit/includes/editpage/TextboxBuilderTest.php

index d0a2f8f..81dc78d 100644 (file)
@@ -25,6 +25,7 @@
 namespace MediaWiki\EditPage;
 
 use MWNamespace;
+use Sanitizer;
 use Title;
 use User;
 
@@ -61,12 +62,10 @@ class TextboxBuilder {
                        return $attribs;
                }
 
-               if ( isset( $attribs['class'] ) ) {
-                       $classes[] = $attribs['class'];
-               }
-               $attribs['class'] = implode( ' ', $classes );
-
-               return $attribs;
+               return Sanitizer::mergeAttributes(
+                       $attribs,
+                       [ 'class' => implode( ' ', $classes ) ]
+               );
        }
 
        /**
index b9bf5b9..4195f96 100644 (file)
@@ -112,7 +112,12 @@ class TextboxBuilderTest extends MediaWikiTestCase {
                        [
                                [ 'mw-new-classname' ],
                                [ 'class' => 'mw-existing-classname' ],
-                               [ 'class' => 'mw-new-classname mw-existing-classname' ],
+                               [ 'class' => 'mw-existing-classname mw-new-classname' ],
+                       ],
+                       [
+                               [ 'mw-new-classname', 'mw-existing-classname' ],
+                               [ 'class' => 'mw-existing-classname' ],
+                               [ 'class' => 'mw-existing-classname mw-new-classname' ],
                        ],
                ];
        }