mediawiki-extensions-Math/tests/MathInputCheckTest.php
physikerwelt 6a0af8f3b4 Validate TeX input for all renderers, not just texvc
The user input specified in the math tag a. la
<math>E=m <script>alert('attacked')</script>^2 </math>
is verified in PNG rendering mode, but not in plaintext, MathJax
or LaTeXML rendering mode. This is a potential security issue.

Furthermore, the texvc specific commands such as $\reals$
that is expanded to $\mathbb{R}$ might be rendered differently
depended on the rendering mode.

Therefore, the security checking and rewriting portion of texvc
have been extracted from the texvc source
(see I1650e6ec2ccefff6335fbc36bbe8ca8f59db0faa) and are
now available as a separate executable (texvccheck).

This commit will now enable this enhancement in security and
provide even more compatibility among the different rendering
modes.

Bug: 49169
Change-Id: Ida24b6bf339508753bed40d2e218c4a5b7fe7d0c
2014-01-22 10:07:27 +00:00

34 lines
859 B
PHP

<?php
/**
* Generated by PHPUnit_SkeletonGenerator 1.2.1 on 2013-09-24 at 03:36:12.
*/
class MathInputCheckTest extends MediaWikiTestCase
{
/**
* @covers MathInputCheck::isValid
*/
public function testIsValid() {
$InputCheck = $this->getMockBuilder( 'MathInputCheck' )->getMock();
$this->assertEquals( $InputCheck->IsValid() , false );
}
/**
* @covers MathInputCheck::getError
* @todo Implement testGetError().
*/
public function testGetError() {
$InputCheck = $this->getMockBuilder( 'MathInputCheck' )->getMock();
$this->assertNull( $InputCheck->getError() );
}
/**
* @covers MathInputCheck::getValidTex
*/
public function testGetValidTex() {
$InputCheck = $this->getMockBuilder( 'MathInputCheck' )
->setConstructorArgs(array('some tex input'))
->getMock();
$this->assertNull( $InputCheck->getValidTex() );
}
}