Physikerwelt has submitted this change and it was merged. Change subject: Merge branch 'master' into dev ......................................................................
Merge branch 'master' into dev Conflicts: Math.hooks.php Math.php MathInputCheck.php MathInputCheckTexvc.php MathRenderer.php tests/MathInputCheckTest.php tests/MathInputCheckTexvcTest.php tests/MathLaTeXMLTest.php Change-Id: I53a1aa035b3435525dde4a30d004c13902ec0cc5 --- M Math.hooks.php M Math.php M MathInputCheck.php M MathInputCheckTexvc.php M MathRenderer.php D modules/MathJax/extensions/wiki2jax.js M tests/MathInputCheckTest.php M tests/MathInputCheckTexvcTest.php M tests/MathLaTeXMLTest.php 9 files changed, 1 insertion(+), 452 deletions(-) Approvals: Physikerwelt: Verified; Looks good to me, approved diff --git a/Math.hooks.php b/Math.hooks.php index a33c494..9dd7798 100644 --- a/Math.hooks.php +++ b/Math.hooks.php @@ -41,13 +41,8 @@ * @return string */ static function mathTagHook( $content, $attributes, $parser ) { -<<<<<<< HEAD (4bb5ca Style: Apply stylize.php) global $wgMathJax, $wgMathDisableTexFilter; if ( trim( $content ) === "" ) { // bug 8372 -======= - global $wgMathDisableTexFilter, $wgContLang, $wgUseMathJax; - if ( trim( $content ) === "" ) { // bug 8372 ->>>>>>> BRANCH (6a0af8 Validate TeX input for all renderers, not just texvc) return ""; } wfProfileIn( __METHOD__ ); @@ -56,7 +51,6 @@ $renderer = MathRenderer::getRenderer( $content, $attributes, $mode ); -<<<<<<< HEAD (4bb5ca Style: Apply stylize.php) if ( ! $wgMathDisableTexFilter ) { $checkResult = $renderer->checkTex(); if ( $checkResult !== true ) { @@ -79,19 +73,6 @@ if ( $wgMathJax && $parser->getUser()->getOption( 'mathJax' ) ) { // maybe this can be checked in the javascript, this would be better for caching $parser->getOptions()->addExtraKey( 1 ); -======= - - if ( !$wgMathDisableTexFilter ) { - $checkResult = $renderer->checkTex(); - if ( $checkResult !== true ){ - // returns the error message - return $renderer->getLastError(); - } - } - - $renderedMath = $renderer->render(); - if ( $wgUseMathJax && $mode == MW_MATH_MATHJAX ) { ->>>>>>> BRANCH (6a0af8 Validate TeX input for all renderers, not just texvc) $parser->getOutput()->addModules( array( 'ext.math.mathjax.enabler' ) ); } $parser->getOutput()->addModuleStyles( array( 'ext.math.styles' ) ); diff --git a/Math.php b/Math.php index 73e63fc..207f228 100644 --- a/Math.php +++ b/Math.php @@ -481,99 +481,4 @@ */ $wgMathDirectory = false; -<<<<<<< HEAD (4bb5ca Style: Apply stylize.php) -======= -/** - * Experimental option to use MathJax library to do client-side math rendering - * when JavaScript is available. In supporting browsers this makes nice output - * that's scalable for zooming, printing, and high-resolution displays. - * - * Not guaranteed to be stable at this time. - */ -$wgUseMathJax = false; - -/** - * Use of LaTeXML for details see - * <http://latexml.mathweb.org/help> - * - * If you want or need to run your own server, follow these installation - * instructions and override $wgLaTeXMLUrl: - * <https://svn.mathweb.org/repos/LaTeXML/branches/arXMLiv/INSTALL> - * - * If you expect heavy load you can specify multiple servers. In that case one - * server is randomly chosen for each rendering process. Specify the list of - * servers in an array e.g $wgLaTeXMLUrl = array ( 'http://latexml.example.com/convert', - * 'http://latexml2.example.com/convert'); - */ -$wgLaTeXMLUrl = 'http://latexml.mathweb.org/convert'; - -/** - * Allows to use LaTeXML as renderer for mathematical equation. - */ -$wgUseLaTeXML = false; - -/** - * The timeout for the HTTP-Request sent to the LaTeXML to render an equation, - * in seconds. - */ -$wgLaTeXMLTimeout = 240; -/** - * Setting for the LaTeXML renderer. - * See http://dlmf.nist.gov/LaTeXML/manual/commands/latexmlpost.xhtml for details. - */ -$wgDefaultLaTeXMLSetting = 'format=xhtml&whatsin=math&whatsout=math&pmml&cmml&nodefaultresources&preload=LaTeX.pool&preload=article.cls&preload=amsmath.sty&preload=amsthm.sty&preload=amstext.sty&preload=amssymb.sty&preload=eucal.sty&preload=[dvipsnames]xcolor.sty&preload=url.sty&preload=hyperref.sty&preload=[ids]latexml.sty&preload=texvc'; -/** - * The link to the texvc executable - */ -$wgMathTexvcCheckExecutable = dirname( __FILE__ ) . '/texvccheck/texvccheck'; -/** - * Option to disable the tex filter. If set to true any LaTeX espression is parsed - * this can be a potential security risk. If set to false only a subset of the TeX - * commands is allowed. See the wikipedia page Help:Math for details. - */ -$wgMathDisableTexFilter = false; -////////// end of config settings. - -$wgDefaultUserOptions['math'] = MW_MATH_PNG; - -$wgExtensionFunctions[] = 'MathHooks::setup'; -$wgHooks['ParserFirstCallInit'][] = 'MathHooks::onParserFirstCallInit'; -$wgHooks['GetPreferences'][] = 'MathHooks::onGetPreferences'; -$wgHooks['LoadExtensionSchemaUpdates'][] = 'MathHooks::onLoadExtensionSchemaUpdates'; -$wgHooks['ParserTestTables'][] = 'MathHooks::onParserTestTables'; -$wgHooks['ParserTestParser'][] = 'MathHooks::onParserTestParser'; -$wgHooks['UnitTestsList'][] = 'MathHooks::onRegisterUnitTests'; - -$dir = dirname( __FILE__ ) . '/'; -$wgAutoloadClasses['MathHooks'] = $dir . 'Math.hooks.php'; -$wgAutoloadClasses['MathRenderer'] = $dir . 'MathRenderer.php'; ->>>>>>> BRANCH (6a0af8 Validate TeX input for all renderers, not just texvc) $wgAutoloadClasses['MathTexvc'] = $dir . 'MathTexvc.php'; -<<<<<<< HEAD (4bb5ca Style: Apply stylize.php) -======= -$wgAutoloadClasses['MathSource'] = $dir . 'MathSource.php'; -$wgAutoloadClasses['MathLaTeXML'] = $dir . 'MathLaTeXML.php'; -$wgAutoloadClasses['MathInputCheck'] = $dir . 'MathInputCheck.php'; -$wgAutoloadClasses['MathInputCheckTexvc'] = $dir . 'MathInputCheckTexvc.php'; -$wgExtensionMessagesFiles['Math'] = $dir . 'Math.i18n.php'; - -$wgParserTestFiles[] = $dir . 'mathParserTests.txt'; - -$moduleTemplate = array( - 'localBasePath' => dirname( __FILE__ ) . '/modules', - 'remoteExtPath' => 'Math/modules', -); - -$wgResourceModules['ext.math.mathjax'] = array( - 'scripts' => array( - 'MathJax/MathJax.js', - // We'll let the other parts be loaded by MathJax's - // own module/config loader. - ), - 'group' => 'ext.math.mathjax', -) + $moduleTemplate; - -$wgResourceModules['ext.math.mathjax.enabler'] = array( - 'scripts' => 'ext.math.mathjax.enabler.js', -) + $moduleTemplate; ->>>>>>> BRANCH (6a0af8 Validate TeX input for all renderers, not just texvc) diff --git a/MathInputCheck.php b/MathInputCheck.php index 735d6ed..04b3065 100644 --- a/MathInputCheck.php +++ b/MathInputCheck.php @@ -2,49 +2,6 @@ /** * MediaWiki math extension * -<<<<<<< HEAD (4bb5ca Style: Apply stylize.php) - * (c) 2002-2013 Tomasz Wegrzanowski, Brion Vibber, Moritz Schubotz, and other MediaWiki contributors - * GPLv2 license; info in main package. - * - * @author Moritz Schubotz - */ -abstract class MathInputCheck { - protected $inputTeX; - protected $validTeX; - protected $isValid = false; - protected $lastError = ''; - - /** - * Default contstructure - * (performs no checking) - * @param String $tex the TeX InputString to be checked - */ - public function __construct( $tex = '' ) { - $this->inputTeX = $tex; - $this->isValid = false; - } - - /** - * Returns true if the TeX input String is valid - * @return boolean - */ - public function isValid() { - return $this->isValid; - } - - /** - * Returns the string of the last error. - * @return string - */ - public function getError() { - return $this->lastError; - } - - /** - * Some Tex checking programs may return - * a modified tex string after having checked it. - * You can get the alterd tex string with this method -======= * (c) 2002-2014 Tomasz Wegrzanowski, Brion Vibber, Moritz Schubotz, and other MediaWiki contributors * GPLv2 license; info in main package. * @@ -86,7 +43,6 @@ * Some TeX checking programs may return * a modified tex string after having checked it. * You can get the altered tex string with this method ->>>>>>> BRANCH (6a0af8 Validate TeX input for all renderers, not just texvc) * @return string A valid Tex string */ public function getValidTex() { diff --git a/MathInputCheckTexvc.php b/MathInputCheckTexvc.php index b8d59a7..0f426be 100644 --- a/MathInputCheckTexvc.php +++ b/MathInputCheckTexvc.php @@ -14,72 +14,6 @@ * * @param string $texvcResult error result returned by texvc */ -<<<<<<< HEAD (4bb5ca Style: Apply stylize.php) - public function convertTexvcError( $texvcResult ) { - $texvcStatus = substr( $texvcResult, 0, 1 ); - $errorRenderer = new MathSource( $this->inputTeX ); - $errDetails = htmlspecialchars( substr( $texvcResult, 1 ) ); - switch ( $texvcStatus ) { - case 'E': - $errMsg = $errorRenderer->getError( 'math_lexing_error' ); - break; - case 'S': - $errMsg = $errorRenderer->getError( 'math_syntax_error' ); - break; - case 'F': - $errMsg = $errorRenderer->getError( 'math_unknown_function', $errDetails ); - break; - default: - $errMsg = $errorRenderer->getError( 'math_unknown_error' ); - } - - return $errMsg; - } - - /** - * - * @global type $wgTexvc - * @return boolean - */ - public function isValid() { - global $wgMathTexvcCheckExecutable; - if ( !is_executable( $wgMathTexvcCheckExecutable ) ) { - $errorRenderer = new MathSource( $this->inputTeX ); - $this->lastError = $errorRenderer->getError( 'math_notexvc' ); - return false; - } - - $cmd = $wgMathTexvcCheckExecutable . ' ' . wfEscapeShellArg( $this->inputTeX ); - - if ( wfIsWindows() ) { - # Invoke it within cygwin sh, because texvc expects sh features in its default shell - $cmd = 'sh -c ' . wfEscapeShellArg( $cmd ); - } - wfDebugLog( 'Math', "TeX check command: $cmd\n" ); - $contents = wfShellExec( $cmd ); - wfDebugLog( 'Math', "TeX check result:\n $contents\n---\n" ); - - if ( strlen( $contents ) == 0 ) { - wfDebugLog( 'Math', "TeX check output was empty. \n" ); - $this->lastError = MathRenderer::getError( 'math_unknown_error' ); - return false; - } - - $retval = substr( $contents, 0, 1 ); - if ( $retval != "+" ) { - $this->lastError = $this->convertTexvcError( $contents ); - wfDebugLog( 'Math', 'checkTex failed:' . $this->lastError ); - return false; - } else { - $this->validTeX = substr( $contents, 1 ); - $this->isSecure = true; - wfDebugLog( 'Math', 'checkTex successful tex is now: ' . $this->validTeX ); - return true; - } - } - -} -======= public function convertTexvcError( $texvcResult, $errorRenderer = false ) { $texvcStatus = substr( $texvcResult, 0, 1 ); $errDetails = htmlspecialchars( substr( $texvcResult, 1 ) ); @@ -154,4 +88,3 @@ } } ->>>>>>> BRANCH (6a0af8 Validate TeX input for all renderers, not just texvc) diff --git a/MathRenderer.php b/MathRenderer.php index 9b1b8f8..43d02f3 100644 --- a/MathRenderer.php +++ b/MathRenderer.php @@ -25,20 +25,8 @@ // REPRESENTATIONS OF THE MATHEMATCAL CONTENT /** @var string tex representation */ protected $tex = ''; -<<<<<<< HEAD (4bb5ca Style: Apply stylize.php) /** @var string MathML content and presentation */ -======= - /** @var string the original user input string (which was used to caculate the inputhash) */ - protected $userInputTex = ''; - /** - * is calculated by texvc. - * @var string - */ - protected $hash = ''; - protected $html = ''; ->>>>>>> BRANCH (6a0af8 Validate TeX input for all renderers, not just texvc) protected $mathml = ''; -<<<<<<< HEAD (4bb5ca Style: Apply stylize.php) /** @var string SVG layot only (no semantics)*/ protected $svg = ''; /** @var string the original user input string (which was used to caculate the inputhash) */ @@ -64,13 +52,6 @@ /** @var boolean has variable tex been security-checked */ protected $texSecure = false; /** @var boolean has the mathtematical content changed */ -======= - protected $conservativeness = 0; - protected $params = ''; - //STATE OF THE CLASS INSTANCE - /** @var boolean has variable tex been security-checked */ - protected $texSecure = false; ->>>>>>> BRANCH (6a0af8 Validate TeX input for all renderers, not just texvc) protected $changed = false; /** @var boolean is there a database entry for the mathematical content */ protected $storedInDatabase = null; @@ -204,7 +185,6 @@ $errmsg = wfMessage( $msg, $parameters )->inContentLanguage()->escaped(); $source = htmlspecialchars( str_replace( "\n", ' ', $this->tex ) ); return "<strong class='error texerror'>$mf($errmsg): $source</strong>\n"; -<<<<<<< HEAD (4bb5ca Style: Apply stylize.php) } /** @@ -227,8 +207,6 @@ */ public function setMd5( $md5 ) { $this->md5 = $md5; -======= ->>>>>>> BRANCH (6a0af8 Validate TeX input for all renderers, not just texvc) } /** @@ -561,32 +539,6 @@ function getLastError() { return $this->lastError; } -<<<<<<< HEAD (4bb5ca Style: Apply stylize.php) -======= - - /** - * Get if the input tex was marked as secure - * @return boolean - */ - public function isTexSecure() { - return $this->texSecure; - } - - public function checkTex() { - if ( !$this->texSecure ) { - $checker = new MathInputCheckTexvc( $this->userInputTex ); - if ( $checker->isValid() ){ - $this->setTex( $checker->getValidTex() ); - $this->texSecure = true; - return true; - } else { - $this->lastError = $checker->getError(); - return false; - } - } - } -} ->>>>>>> BRANCH (6a0af8 Validate TeX input for all renderers, not just texvc) /** * @return string diff --git a/modules/MathJax/extensions/wiki2jax.js b/modules/MathJax/extensions/wiki2jax.js deleted file mode 100644 index f8da7d6..0000000 --- a/modules/MathJax/extensions/wiki2jax.js +++ /dev/null @@ -1,80 +0,0 @@ -<<<<<<< HEAD (4bb5ca Style: Apply stylize.php) -======= -/** - * From https://en.wikipedia.org/wiki/User:Nageh/mathJax/config/TeX-AMS-texvc_HTML.js - */ - -MathJax.Extension.wiki2jax = { - version: "1.0", - - config: { - element: null, // The ID of the element to be processed - // (defaults to full document) - }, - - PreProcess: function (element) { - if (!this.configured) { - this.config = MathJax.Hub.CombineConfig("wiki2jax", this.config); - if (this.config.Augment) {MathJax.Hub.Insert(this,this.config.Augment)} - - this.previewClass = MathJax.Hub.config.preRemoveClass; - this.setupPrefilter(); - this.configured = true; - } - var that = this; - $('span.tex, img.tex, strong.texerror', element || document).each(function(i, span) { - that.ConvertMath(span); - }); - }, - - setupPrefilter: function() { // used to fix a number of common wiki math hacks - MathJax.Hub.Register.StartupHook("TeX Jax Ready", function() { - MathJax.InputJax.TeX.prefilterHooks.Add( function(data) { - data.math = data.math.replace(/^\s*\\scriptstyle(\W)/,"\\textstyle$1").replace(/^\s*\\scriptscriptstyle(\W)/,"\\scriptstyle$1"); - if (data.script.type.match(/(;|\s|\n)mode\s*=\s*display-nobreak(;|\s|\n|$)/) != null) - data.math = "\\displaystyle " + data.math; - }); - }); - }, - - ConvertMath: function (node) { - var parent = node.parentNode, - mode = parent.tagName === "DD" && parent.childNodes.length === 1 ? "; mode=display" : "", - tex; - if (node.nodeName == 'IMG') { - tex = node.alt; - } else { - if (node.nodeName == 'STRONG') { - tex = $(node).text().replace(/^[^:]*: (.*)$/,"$1"); - } else { - tex = $(node).text().replace(/^\$/,"").replace(/\$$/,""); - } - tex = tex.replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&").replace(/ /g," "); - } - - // We don't allow comments (%) in texvc and escape all literal % by default. - tex = tex.replace(/([^\\])%/g, "$1\\%" ); - - tex = tex.replace(/\\iiint([^!]*)!\\!\\!\\!\\!.*\\subset\\!\\supset/g,"\\iiint$1mkern-2.5em\\subset\\!\\supset").replace(/\\iint([^!]*)!\\!\\!\\!\\!\\!\\!\\!\\!\\!\\!(.*)\\subset\\!\\supset/g,"\\iint$1mkern-1.65em$2\\subset\\!\\!\\supset").replace(/\\int\\!\\!\\!(\\!)+\\int\\!\\!\\!(\\!)+\\int([^!]*)!\\!\\!\\!\\!.*\\bigcirc(\\,)*/g,"\\iiint$3mkern-2.5em\\subset\\!\\supset").replace(/\\int\\!\\!\\!(\\!)+\\int([^!]*)!\\!\\!\\!\\!\\!\\!\\!\\!(.*)\\bigcirc(\\,)*/g,"\\iint$2mkern-1.65em$3\\subset\\!\\!\\supset"); - - if (mode === "" && parent.firstChild === node) mode = "; mode=display-nobreak"; - - var script = document.createElement("script"); - script.type = "math/tex" + mode; - MathJax.HTML.setScript(script, tex); - - if (node.nextSibling) {parent.insertBefore(script,node.nextSibling)} - else {parent.appendChild(script)} - - var preview = MathJax.HTML.Element("span", { - className: MathJax.Hub.config.preRemoveClass - }); - preview.appendChild(parent.removeChild(node)); - parent.insertBefore(preview, script); - }, - -}; - -MathJax.Hub.Register.PreProcessor(["PreProcess",MathJax.Extension.wiki2jax]); -MathJax.Ajax.loadComplete("[MathJax]/extensions/wiki2jax.js"); ->>>>>>> BRANCH (6a0af8 Validate TeX input for all renderers, not just texvc) diff --git a/tests/MathInputCheckTest.php b/tests/MathInputCheckTest.php index ec202d0..69d3c62 100644 --- a/tests/MathInputCheckTest.php +++ b/tests/MathInputCheckTest.php @@ -4,49 +4,6 @@ */ class MathInputCheckTest extends MediaWikiTestCase { -<<<<<<< HEAD (4bb5ca Style: Apply stylize.php) - /** - * @var MathInputCheck - */ - protected $object; - - -// /** -// * @covers MathInputCheck::isSecure -// * @todo Implement testIsSecure(). -// */ -// public function testIsSecure() -// { -// // Remove the following lines when you implement this test. -// $this->markTestIncomplete( -// 'This test has not been implemented yet.' -// ); -// } -// -// /** -// * @covers MathInputCheck::getError -// * @todo Implement testGetError(). -// */ -// public function testGetError() -// { -// // Remove the following lines when you implement this test. -// $this->markTestIncomplete( -// 'This test has not been implemented yet.' -// ); -// } -// -// /** -// * @covers MathInputCheck::getSecureTex -// * @todo Implement testGetSecureTex(). -// */ -// public function testGetSecureTex() -// { -// // Remove the following lines when you implement this test. -// $this->markTestIncomplete( -// 'This test has not been implemented yet.' -// ); -// } -======= /** * @covers MathInputCheck::isValid */ @@ -73,5 +30,4 @@ ->getMock(); $this->assertNull( $InputCheck->getValidTex() ); } ->>>>>>> BRANCH (6a0af8 Validate TeX input for all renderers, not just texvc) } diff --git a/tests/MathInputCheckTexvcTest.php b/tests/MathInputCheckTexvcTest.php index 22927a1..c72fc9e 100644 --- a/tests/MathInputCheckTexvcTest.php +++ b/tests/MathInputCheckTexvcTest.php @@ -9,50 +9,6 @@ * @var MathInputCheckTexvc */ protected $BadObject; -<<<<<<< HEAD (4bb5ca Style: Apply stylize.php) - - /** - * Sets up the fixture, for example, opens a network connection. - * This method is called before a test is executed. - */ - protected function setUp() { - parent::setUp(); - $this->BadObject = new MathInputCheckTexvc( '\newcommand{\text{do evil things}}' ); - } - - /** - * Tears down the fixture, for example, closes a network connection. - * This method is called after a test is executed. - */ - protected function tearDown() { - - } - -// /** -// * @covers MathInputCheckTexvc::convertTexvcError -// * @todo Implement testConvertTexvcError(). -// */ -// public function testConvertTexvcError() { -// // Remove the following lines when you implement this test. -// $this->markTestIncomplete( -// 'This test has not been implemented yet.' -// ); -// } - - /** - * @covers MathInputCheckTexvc::isSecure - * @todo Implement testIsSecure(). - */ - public function testIsSecure() { - global $wgMathTexvcCheckExecutable; - if ( !is_executable( $wgMathTexvcCheckExecutable ) ) { - $this->markTestSkipped( "No texvc installed on server" ); - } - $this->assertFalse( $this->BadObject->isValid() ); - // Remove the following lines when you implement this test. - } - -======= protected $GoodObject; /** @@ -182,5 +138,4 @@ $this->assertContains( $mathFailure, $actualUnknownError, 'Unknown error contains general math failure message' ); $this->assertContains( $expectedUnknownError, $actualUnknownError, 'Unknown error contains detailed error for unknownError' ); } ->>>>>>> BRANCH (6a0af8 Validate TeX input for all renderers, not just texvc) } diff --git a/tests/MathLaTeXMLTest.php b/tests/MathLaTeXMLTest.php index 8dbc3d2..fcff9db 100644 --- a/tests/MathLaTeXMLTest.php +++ b/tests/MathLaTeXMLTest.php @@ -177,7 +177,6 @@ * i.e. if the span element is generated right. */ public function testIntegration() { -<<<<<<< HEAD (4bb5ca Style: Apply stylize.php) global $wgMathLaTeXMLTimeout; global $wgMathFastDisplay; $wgMathFastDisplay = false; @@ -187,14 +186,6 @@ $real = str_replace( "\n", '', $renderer->getHtmlOutput() ); $expected = '<plus'; $this->assertContains( $expected, $real -======= - global $wgLaTeXMLTimeout; - $wgLaTeXMLTimeout = 20; - $renderer = MathRenderer::getRenderer( "a+b", array(), MW_MATH_LATEXML ); - $real = $renderer->render( true ); - $expected = '<span class="tex" dir="ltr" id="a_b"><math xmlns="http://www.w3.org/1998/Math/MathML" id="p1.1.m1" class="ltx_Math" alttext="a+b" display="inline" xml:id="p1.1.m1.1" xref="p1.1.m1.1.cmml"> <semantics xml:id="p1.1.m1.1a" xref="p1.1.m1.1.cmml"> <mrow xml:id="p1.1.m1.1.4" xref="p1.1.m1.1.4.cmml"> <mi xml:id="p1.1.m1.1.1" xref="p1.1.m1.1.1.cmml">a</mi> <mo xml:id="p1.1.m1.1.2" xref="p1.1.m1.1.2.cmml">+</mo> <mi xml:id="p1.1.m1.1.3" xref="p1.1.m1.1.3.cmml">b</mi> </mrow> <annotation-xml encoding="MathML-Content" xml:id="p1.1.m1.1.cmml" xref="p1.1.m1.1"> <apply xml:id="p1.1.m1.1.4.cmml" xref="p1.1.m1.1.4"> <plus xml:id="p1.1.m1.1.2.cmml" xref="p1.1.m1.1.2"/> <ci xml:id="p1.1.m1.1.1.cmml" xref="p1.1.m1.1.1">a</ci> <ci xml:id="p1.1.m1.1.3.cmml" xref="p1.1.m1.1.3">b</ci> </apply> </annotation-xml> <annotation encoding="application/x-tex" xml:id="p1.1.m1.1b" xref="p1.1.m1.1.cmml">a+b</annotation> </semantics> </math></span>'; - $this->assertEquals( $expected, $real ->>>>>>> BRANCH (6a0af8 Validate TeX input for all renderers, not just texvc) , "Rendering of a+b in plain Text mode" ); } @@ -245,4 +236,4 @@ return MathLaTeXMLTest::$html; } -} +} \ No newline at end of file -- To view, visit https://gerrit.wikimedia.org/r/109484 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I53a1aa035b3435525dde4a30d004c13902ec0cc5 Gerrit-PatchSet: 2 Gerrit-Project: mediawiki/extensions/Math Gerrit-Branch: dev Gerrit-Owner: Physikerwelt <w...@physikerwelt.de> Gerrit-Reviewer: Physikerwelt <w...@physikerwelt.de> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits