Removed Xml::escapeJsString()
authorReedy <reedy@wikimedia.org>
Wed, 30 Nov 2016 00:38:00 +0000 (00:38 +0000)
committerKunal Mehta <legoktm@member.fsf.org>
Fri, 2 Dec 2016 08:31:59 +0000 (00:31 -0800)
Change-Id: Iead8385a72a79632a90594a8828080a6d572e039

RELEASE-NOTES-1.29
includes/Xml.php
tests/phpunit/includes/XmlTest.php

index ef353ed..98d2a17 100644 (file)
@@ -59,6 +59,7 @@ changes to languages because of Phabricator reports.
 * MWHttpRequest::execute() should be considered to return a StatusValue; the
   Status return type is deprecated.
 * User::edits() (deprecated in 1.21) was removed.
+* Xml::escapeJsString() (deprecated in 1.21) was removed.
 
 == Compatibility ==
 
index 4c6b071..e124c38 100644 (file)
@@ -613,42 +613,6 @@ class Xml {
                                        $content, false );
        }
 
-       /**
-        * Returns an escaped string suitable for inclusion in a string literal
-        * for JavaScript source code.
-        * Illegal control characters are assumed not to be present.
-        *
-        * @deprecated since 1.21; use Xml::encodeJsVar() or Xml::encodeJsCall() instead
-        * @param string $string String to escape
-        * @return string
-        */
-       public static function escapeJsString( $string ) {
-               // See ECMA 262 section 7.8.4 for string literal format
-               $pairs = [
-                       "\\" => "\\\\",
-                       "\"" => "\\\"",
-                       '\'' => '\\\'',
-                       "\n" => "\\n",
-                       "\r" => "\\r",
-
-                       # To avoid closing the element or CDATA section
-                       "<" => "\\x3c",
-                       ">" => "\\x3e",
-
-                       # To avoid any complaints about bad entity refs
-                       "&" => "\\x26",
-
-                       # Work around https://bugzilla.mozilla.org/show_bug.cgi?id=274152
-                       # Encode certain Unicode formatting chars so affected
-                       # versions of Gecko don't misinterpret our strings;
-                       # this is a common problem with Farsi text.
-                       "\xe2\x80\x8c" => "\\u200c", // ZERO WIDTH NON-JOINER
-                       "\xe2\x80\x8d" => "\\u200d", // ZERO WIDTH JOINER
-               ];
-
-               return strtr( $string, $pairs );
-       }
-
        /**
         * Encode a variable of arbitrary type to JavaScript.
         * If the value is an XmlJsCode object, pass through the object's value verbatim.
index dbd1299..18ff1f4 100644 (file)
@@ -305,17 +305,6 @@ class XmlTest extends MediaWikiTestCase {
                );
        }
 
-       /**
-        * @covers Xml::escapeJsString
-        */
-       public function testEscapeJsStringSpecialChars() {
-               $this->assertEquals(
-                       '\\\\\r\n',
-                       Xml::escapeJsString( "\\\r\n" ),
-                       'escapeJsString() with special characters'
-               );
-       }
-
        /**
         * @covers Xml::encodeJsVar
         */